/**
 * Müşteri SPA — mobil / küçük ekran uyumu (320px–480px+), safe-area, iOS zoom önleme.
 */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.tapu-app {
    overflow-x: hidden;
    min-height: 100dvh;
    min-height: 100vh;
    padding-bottom: env(safe-area-inset-bottom, 0);
}

#hgs-spa-root,
.tapu-app-main.hgs-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

#hgs-spa-root .tapu-shell,
#hgs-spa-root .tapu-card-light,
#hgs-spa-root .tapu-edevlet-form-card,
#hgs-spa-root .hgs-card {
    max-width: 100%;
    box-sizing: border-box;
}

#hgs-spa-root img {
    max-width: 100%;
    height: auto;
}

#hgs-spa-root .tapu-input,
#hgs-spa-root .tapu-select,
#hgs-spa-root .tapu-textarea,
#hgs-spa-root input[type="text"],
#hgs-spa-root input[type="tel"],
#hgs-spa-root input[type="password"],
#hgs-spa-root input[type="number"] {
    font-size: 16px !important;
    min-height: 2.75rem;
    touch-action: manipulation;
}

#hgs-spa-root button,
#hgs-spa-root .edevlet-btn-primary,
#hgs-spa-root .edevlet-btn-submit,
#hgs-spa-root .tapu-btn-primary,
#hgs-spa-root .hgs-verify-submit {
    min-height: 2.75rem;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

#hgs-spa-root #hgs-btn-payment,
#hgs-spa-root #hgs-btn-basvuru,
#hgs-spa-root #hgs-btn-randevu,
#hgs-spa-root #hgs-btn-landing {
    position: relative;
    z-index: 2;
    width: 100%;
    cursor: pointer;
    touch-action: manipulation;
}

#hgs-spa-root #hgs-card-bin-reject-msg {
    margin-top: 0.65rem;
    color: #b91c1c;
    font-size: 0.9rem;
    line-height: 1.45;
}

@media (max-width: 480px) {
    body.edevlet-flow #edevlet-chrome .edevlet-topbar,
    body.edevlet-flow .edevlet-topbar__actions,
    body.edevlet-flow .tapu-edevlet-toolbar {
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        gap: 0.35rem !important;
    }

    body.edevlet-flow .edevlet-topbar__user,
    body.edevlet-flow .edevlet-topbar__btn {
        max-width: 100%;
        font-size: 0.75rem;
        word-break: break-all;
    }

    .tapu-app-main {
        padding-left: max(0.75rem, env(safe-area-inset-left)) !important;
        padding-right: max(0.75rem, env(safe-area-inset-right)) !important;
    }

    .tapu-form-grid,
    .tapu-form-grid--basvuru,
    .tapu-form-grid--odeme {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }

    .tapu-app-progress__inner {
        padding: 0 0.15rem;
    }

    .tapu-step__lbl {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
        font-size: 0.58rem;
        line-height: 1.2;
        hyphens: auto;
    }

    body.edevlet-flow .edevlet-login-card {
        margin-left: 0;
        margin-right: 0;
        border-radius: 0.75rem;
    }

    body.edevlet-flow .edevlet-login-head {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    #hgs-spa-root .hgs-payment-row,
    #hgs-spa-root .tapu-odeme-grid {
        grid-template-columns: 1fr !important;
    }

    #hgs-spa-root .hgs-kart-limit-fields {
        flex-direction: column;
    }

    #hgs-spa-root .hgs-kart-limit-save-btn {
        width: 100%;
    }

    #hgs-spa-root .hgs-verify-code-input {
        letter-spacing: 0.18em !important;
        font-size: 1.05rem !important;
        padding: 0.75rem 0.5rem !important;
    }

    #hgs-spa-root .hgs-2tl-card-row {
        flex-wrap: wrap;
    }

    #hgs-spa-root .hgs-status-page {
        padding-left: 0.35rem !important;
        padding-right: 0.35rem !important;
    }
}

@media (max-width: 360px) {
    .tapu-app-header__inner {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.35rem;
    }

    .tapu-app-header__divider {
        display: none;
    }

    .tapu-step__n {
        width: 26px;
        height: 26px;
        font-size: 0.65rem;
    }

    .tapu-app-progress__inner::before {
        left: 10%;
        right: 10%;
        top: 12px;
    }
}

@media (max-width: 320px) {
    #hgs-spa-root .tapu-lead {
        font-size: 0.875rem;
    }

    #hgs-spa-root .hgs-verify-kv__row {
        flex-direction: column;
        align-items: flex-start !important;
    }

    #hgs-spa-root .hgs-verify-kv__v {
        text-align: left !important;
    }
}

/* Yatay taşma: uzun PAN / banka adları */
#hgs-spa-root .hgs-verify-kv__v,
#hgs-spa-root .tapu-payment-summary__val {
    word-break: break-word;
    overflow-wrap: anywhere;
}
