/* Yuvam Güven Group - mobile-first refinements */
html {
    -webkit-text-size-adjust: 100%;
}

body.menu-open {
    overflow: hidden;
}

body.menu-open .header {
    z-index: 1101;
}

@media (max-width: 991px) {
    .header { padding: 8px 0 !important; }
    .nav { min-height: 58px; gap: 12px; }
    .logo { min-width: 0; flex: 1; }
    .logo img { max-width: 180px; max-height: 46px !important; object-fit: contain; }
    .logo-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .logo-text small { display: none !important; }
    .nav-actions { gap: 8px; flex-shrink: 0; }
    .nav-actions > .btn { width: 42px; min-width: 42px; height: 42px; padding: 0; font-size: 0; }
    .nav-actions > .btn i { margin: 0; font-size: 16px; }
    .search-trigger, .nav-toggle { width: 42px; height: 42px; border-radius: 12px; justify-content: center; align-items: center; }
    .nav-toggle { position: relative; padding: 0; gap: 5px; }
    .nav-toggle span { transition: transform .2s ease, opacity .2s ease; }
    .nav-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle.active span:nth-child(2) { opacity: 0; }
    .nav-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .nav-overlay { position: fixed; inset: 0; z-index: 1100; background: rgba(12, 20, 32, .52); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
    .nav-overlay.active { opacity: 1; visibility: visible; }
    .nav-menu { top: 0 !important; right: 0 !important; width: min(88vw, 360px) !important; min-height: 100dvh !important; height: 100dvh !important; padding: 82px 22px 28px !important; gap: 0 !important; z-index: 1101 !important; transform: translateX(105%); transition: transform .28s ease !important; overscroll-behavior: contain; }
    .nav-menu.active { right: 0 !important; transform: translateX(0); }
    .nav-menu > li { padding: 0; }
    .nav-menu > li > a { display: flex !important; align-items: center; min-height: 48px; padding: 11px 4px !important; font-size: 16px !important; }
    .nav-menu .dropdown-menu { display: block !important; width: 100% !important; max-height: 0; margin: 0; padding: 0 10px !important; overflow: hidden; border-radius: 10px; transition: max-height .25s ease, padding .25s ease; }
    .nav-menu .dropdown-menu::before { display: none; }
    .nav-menu .dropdown-container.is-open .dropdown-menu { max-height: 720px; margin: 4px 0 10px; padding: 8px 10px !important; }
    .nav-menu .dropdown-menu li a { min-height: 42px; padding: 9px 6px; }
    .hero-section { padding: 56px 0 60px !important; }
    .hero-wrapper { gap: 32px; }
    .hero-image { order: initial !important; margin: 0 !important; }
    .hero-blob { max-width: min(100%, 420px); }
    .hero-content h1 { font-size: clamp(2.2rem, 7vw, 3.35rem) !important; line-height: 1.13; letter-spacing: -.04em; }
    .hero-content p { font-size: 1rem; line-height: 1.7; }
    .hero-buttons, .cta-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
    .hero-buttons .btn, .cta-buttons .btn { min-height: 50px; padding: 14px 24px; }
    .section, .page-container { padding-top: 64px; padding-bottom: 64px; }
    .page-header { padding: 56px 0; }
    .section-header { margin-bottom: 34px; }
    .section-header h2 { font-size: clamp(1.75rem, 6vw, 2.2rem); }
    .services-grid, .blog-grid { gap: 20px; }
    .service-card { padding: 32px 26px; }
    .footer-grid { gap: 30px; }
    .api-sidebar { display: flex !important; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); gap: 10px; z-index: 998; }
    .api-item, .api-item a { width: 50px; height: 50px; }
    .api-item a { font-size: 19px; }
    input, select, textarea { font-size: 16px !important; }
}

@media (max-width: 575px) {
    .container { padding-right: 16px; padding-left: 16px; }
    .logo-icon { font-size: 25px; }
    .logo-text { font-size: 14px !important; }
    .hero-section { padding: 42px 0 52px !important; }
    .hero-badge { margin-bottom: 16px; padding: 7px 12px; font-size: 11px; }
    .hero-content h1 { font-size: clamp(2rem, 10vw, 2.65rem) !important; margin-bottom: 18px; }
    .hero-content p { margin-bottom: 24px; }
    .hero-buttons, .cta-buttons { flex-direction: column; align-items: stretch; width: 100%; }
    .hero-buttons .btn, .cta-buttons .btn { width: 100%; font-size: 13px; }
    .section, .page-container { padding-top: 52px; padding-bottom: 52px; }
    .page-header { padding: 44px 0; }
    .page-header h1 { font-size: 1.9rem; }
    .services-grid, .blog-grid, .stats-grid, .contact-grid, .footer-grid, .form-row { grid-template-columns: 1fr; }
    .service-card, .blog-card-content, .content-body, .sidebar-card { padding: 24px 20px; }
    .stats-section { padding: 52px 0; }
    .stat-item h3 { font-size: 2.5rem; }
    .search-close { top: 18px; right: 20px; font-size: 26px; }
    .search-form-overlay input { padding: 16px 42px 16px 0; font-size: 1.25rem; }
    .search-form-overlay button { font-size: 1.25rem; }
    .tooltiptext { display: none; }
    .properties-section, .property-detail-section { padding-top: 32px; padding-bottom: 48px; }
    .property-filter-form .pf-row, .property-features { grid-template-columns: 1fr; }
    .properties-empty, .property-detail-top, .pf-actions { flex-direction: column; align-items: stretch; }
    .property-detail-price { font-size: 1.5rem; }
    .property-gallery-main img { height: 230px !important; }
    .property-gallery-zoom { right: 10px; bottom: 10px; padding: 7px 10px; font-size: 11px; }
    .property-lightbox-close { top: 10px; right: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
