/* Mobil uyumluluk — Etaser İnşaat */

/* Genel */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    padding-bottom: env(safe-area-inset-bottom, 0);
}

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

/* Formlarda iOS zoom önleme */
.form-field input,
.form-field select,
.form-field textarea {
    font-size: 16px;
}

@media (max-width: 991.98px) {
    :root {
        --section-y: clamp(64px, 12vw, 88px);
    }

    .container {
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
    }

    /* Navbar — mobil menü */
    .navbar {
        padding: 14px 0;
    }
    .navbar-brand img {
        max-height: 42px;
    }
    .navbar.scrolled .navbar-brand img {
        max-height: 38px;
    }
    .navbar-collapse {
        border-radius: 0;
        margin-top: 12px;
        padding: 12px 8px 16px;
        max-height: min(78vh, 560px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .nav-link {
        font-size: 0.78rem;
        padding: 14px 12px !important;
        letter-spacing: 0.1em;
    }
    .nav-link::after {
        display: none;
    }
    .nav-cta {
        margin: 8px 8px 4px;
        width: calc(100% - 16px);
        padding: 14px 20px !important;
        justify-content: center;
    }

    /* Hover efektlerini dokunmatikte yumuşat */
    .service-card:hover,
    .project-item:hover {
        transform: none;
    }
    .service-card:hover .service-card-media img,
    .project-item:hover img {
        transform: none;
    }

    /* Hizmetler / projeler tam genişlik */
    .services-grid {
        max-width: none;
        grid-template-columns: 1fr;
    }
    .projects-header {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 28px;
        padding-bottom: 20px;
    }
    .projects-header-copy .section-title,
    .services-header .section-title,
    .section-title {
        font-size: clamp(1.75rem, 7vw, 2.35rem);
        line-height: 1.15;
    }

    /* Proje kartları — ok her zaman görünsün */
    .project-link {
        opacity: 1;
        transform: none;
    }
    .project-media {
        aspect-ratio: 4 / 5;
    }
    .project-body {
        padding: 22px 18px 20px;
        padding-right: 64px;
    }

    /* CTA */
    .cta-band {
        padding: 64px 0;
    }
    .cta-band .btn-modern {
        width: 100%;
        justify-content: center;
    }

    /* Footer */
    footer {
        padding: 64px 0 100px;
        text-align: left;
    }
    .footer-logo {
        max-height: 52px;
    }
    .social-icons {
        margin-bottom: 8px;
    }

    /* Page hero */
    .page-hero {
        min-height: 40vh;
    }
    .page-hero-content {
        padding: 120px 0 44px;
    }
    .page-hero h1 {
        max-width: none;
        font-size: clamp(1.75rem, 8vw, 2.5rem);
    }
    .page-hero-lead {
        font-size: 0.95rem;
        max-width: none;
    }

    /* About metrics okunabilirlik */
    .metric-item .stat-number {
        font-size: clamp(1.8rem, 8vw, 2.4rem);
    }
    .metric-item .stat-text {
        font-size: 0.72rem;
        line-height: 1.35;
    }
    .about-copy > p {
        max-width: none;
    }
    .about-quote {
        max-width: none;
    }
}

@media (max-width: 768px) {
    /* Hero */
    .hero-section {
        min-height: 100svh;
        height: auto;
        align-items: flex-end;
    }
    .hero-frame {
        display: none;
    }
    .hero-inner {
        padding: 110px 0 64px;
    }
    .hero-content {
        padding-left: 16px;
        max-width: none;
    }
    .hero-content::before {
        top: 4px;
        bottom: 4px;
    }
    .hero-brand {
        font-size: 0.72rem;
        letter-spacing: 0.22em;
        margin-bottom: 16px;
    }
    .hero-title {
        font-size: clamp(2.1rem, 11vw, 3rem);
        margin-bottom: 18px;
        word-break: break-word;
    }
    .hero-lead {
        font-size: 0.95rem;
        line-height: 1.65;
        margin-bottom: 28px;
        max-width: none;
    }
    .hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .btn-modern,
    .btn-outline-hero {
        width: 100%;
        justify-content: center;
        min-height: 48px;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* About */
    .about-visual {
        aspect-ratio: 4 / 3;
        max-height: 280px;
    }
    .about-visual-caption {
        left: 16px;
        right: 16px;
        bottom: 16px;
    }
    .about-visual-caption strong {
        font-size: 1.05rem;
    }
    .about-meta {
        gap: 8px 12px;
    }
    .about-meta-dot {
        display: none;
    }
    .about-cta-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .about-metrics {
        margin-top: 8px;
    }
    .metric-item {
        padding: 22px 14px;
    }
    .metric-index {
        font-size: 0.62rem;
        margin-bottom: 10px;
    }

    /* Aktas band */
    .aktas-band {
        padding: 22px 0;
    }
    .aktas-logo {
        max-height: 36px;
    }
    .aktas-band-text {
        font-size: 0.85rem;
        text-align: center;
    }
    .aktas-compact {
        width: 100%;
        margin-top: 22px;
    }
    .aktas-footer {
        align-items: flex-start;
    }

    /* Contact / forms */
    .contact-info-item {
        gap: 12px;
    }
    .form-panel {
        padding: 22px 16px;
    }
    .map-embed {
        aspect-ratio: 1 / 1;
        min-height: 220px;
        margin-top: 32px;
    }

    /* Project detail */
    .project-hero {
        min-height: 48vh;
    }
    .project-hero h1 {
        font-size: clamp(1.7rem, 8vw, 2.4rem);
    }
    .project-meta-item {
        padding: 18px 16px;
    }
    .project-side {
        padding: 24px 20px;
    }
}

@media (max-width: 575.98px) {
    .navbar-toggler {
        width: 42px;
        height: 42px;
    }

    .about-metrics {
        grid-template-columns: 1fr;
    }
    .metric-item:not(:last-child)::after {
        display: none;
    }
    .metric-item:nth-child(1),
    .metric-item:nth-child(2),
    .metric-item:nth-child(3) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .metric-item {
        padding: 24px 18px;
        text-align: left;
    }
    .metric-item .stat-number {
        font-size: 2.2rem;
    }

    .service-card-body {
        padding: 18px 16px 20px;
    }
    .service-card-body h3 {
        font-size: 1.05rem;
    }
    .service-detail-list li {
        font-size: 0.84rem;
    }

    .project-tag {
        top: 14px;
        left: 14px;
    }
    .project-body h3 {
        font-size: 1.1rem;
    }
    .project-link {
        right: 14px;
        bottom: 18px;
        width: 38px;
        height: 38px;
    }

    .cta-band-copy .section-title {
        font-size: clamp(1.6rem, 8vw, 2.1rem);
    }

    footer .col-lg-3,
    footer .col-lg-4,
    footer .col-lg-5 {
        margin-bottom: 8px;
    }
    footer h5 {
        margin-bottom: 16px !important;
        font-size: 0.95rem;
    }

    .page-breadcrumb {
        font-size: 0.62rem;
        gap: 6px;
    }
    .page-hero-content {
        padding: 108px 0 36px;
    }

    .about-value,
    .about-regions-row article {
        padding-top: 22px;
        padding-bottom: 22px;
    }
    .about-process-steps {
        gap: 20px;
    }
    .about-promise-actions {
        width: 100%;
    }
    .about-promise-actions .btn-modern,
    .about-promise-actions .about-more {
        width: 100%;
        justify-content: center;
    }

    /* Float contact — safe area */
    .float-contact {
        right: max(12px, env(safe-area-inset-right));
        bottom: max(14px, env(safe-area-inset-bottom));
    }
}

/* Kısa ekranlar (yatay telefon) */
@media (max-height: 480px) and (orientation: landscape) {
    .hero-section {
        min-height: auto;
        height: auto;
    }
    .hero-inner {
        padding: 88px 0 40px;
    }
    .hero-title {
        font-size: 1.8rem;
        margin-bottom: 12px;
    }
    .hero-lead {
        margin-bottom: 16px;
        font-size: 0.9rem;
    }
    .page-hero {
        min-height: auto;
    }
    .page-hero-content {
        padding: 88px 0 32px;
    }
}

/* Prefers reduced motion already in main; ensure mobile hover states don't stick */
@media (hover: none) {
    .nav-cta:hover {
        transform: none;
    }
    .social-icons a:hover {
        transform: none;
    }
    .float-btn:hover {
        transform: none;
    }
}
