/* Mobil düzen en son yüklenir; sayfalara özel stillerle aynı ölçüleri kullanır. */
.account-form-card { padding: 40px; }
@media (max-width: 1450px) {
    .nav-menu {
        justify-content: flex-start;
        max-height: calc(100dvh - 88px);
        overflow-x: hidden;
        overscroll-behavior-y: contain;
        background: rgba(255, 255, 255, .98);
    }

    .nav-menu > * { flex-shrink: 0; }

    /* Masaüstündeki inline-flex, alt menüyü düğmenin yanına taşıyordu. */
    .nav-group-dropdown { display: block; min-width: 0; }
    .nav-group-menu { min-width: 0; max-width: none; }
    .nav-group-menu a { white-space: normal; overflow-wrap: anywhere; }
    .nav-link, .hesap-dropdown-menu a { min-height: 44px; }
}

@media (max-width: 768px) {
    .container { padding-inline: 14px; }

    /* Bazı sayfalardaki satır içi başlık/section boşluklarını da eşitle. */
    .page-hero { padding: 26px 0 !important; }
    .page-hero h1 { font-size: 1.65rem; margin-bottom: 6px; }
    .breadcrumb { flex-wrap: wrap; font-size: .78rem; gap: 6px; }
    .section { padding: 28px 0 !important; }

    .products-layout, .teklif-grid, .contact-grid { gap: 20px; }
    .products-main { min-width: 0; }
    .products-sidebar { padding: 12px; }
    .product-search { margin-bottom: 14px; }
    .product-search input { min-height: 44px; font-size: 16px; }
    .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .product-card { min-width: 0; }
    .product-body { padding: 10px; }
    .product-body h3 { font-size: .82rem; line-height: 1.45; overflow-wrap: anywhere; }
    .product-body p { font-size: .75rem; margin-bottom: 8px; }
    .product-brand { flex-wrap: wrap; gap: 4px; font-size: .7rem; overflow-wrap: anywhere; }
    .product-footer { padding-top: 8px; gap: 4px; flex-wrap: wrap; }
    .product-price { font-size: .85rem; overflow-wrap: anywhere; }
    .product-link { min-height: 44px; }
    .product-badge { max-width: calc(100% - 12px); top: 6px; right: 6px; }

    .form-card, .account-form-card, .checkout-kart, .odeme-ozeti-karti {
        padding: 16px;
    }
    .form-card h3 { font-size: 1.05rem; margin-bottom: 16px; padding-bottom: 12px; }
    .form-row, .kayit-form-grid, .form-grid-2, .form-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .form-row > *, .kayit-form-grid > *, .form-grid-2 > *, .form-grid-3 > * {
        min-width: 0;
    }
    .form-group { margin-bottom: 12px; }
    .form-label { font-size: .75rem; letter-spacing: 0; margin-bottom: 5px; }
    .form-control {
        min-width: 0;
        min-height: 44px;
        padding: 9px 10px;
        /* iOS'un alan odağında sayfayı yakınlaştırmasını önle. */
        font-size: 16px;
    }
    select.form-control { padding-right: 30px; background-position: right 7px center; }
    textarea.form-control { min-height: 88px; }
    .form-control[type="file"] { padding: 8px; font-size: .8rem; }
    .checkout-kart { margin-bottom: 12px; }
    .checkout-kart-baslik { margin-bottom: 12px; }
    .ozet-grid { gap: 16px; }
    .odeme-secenekleri { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .odeme-secim { padding: 10px 8px; min-height: 44px; gap: 6px; font-size: .8rem; }
    .kart-tarih-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .kart-tarih-grid > div:last-child { grid-column: auto; }
    .btn { min-height: 44px; }
    .btn-lg { padding: 12px 16px; font-size: .9rem; }
}

@media (max-width: 480px) {
    .product-footer { flex-direction: column; align-items: stretch; }
    .product-link { justify-content: space-between; }

    /* Ülke koduyla birlikte telefon ve uzun e-posta alanına yeterli yer bırak. */
    .form-row:has([data-phone-input]), .form-grid-2:has([data-phone-input]) {
        grid-template-columns: minmax(0, 1fr);
    }
    .form-grid-3 > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 359px) {
    .form-row, .kayit-form-grid, .form-grid-2 { grid-template-columns: minmax(0, 1fr); }
}
