/**
 * Paryuk Admin — mobil / tablet (tüm panel)
 * Sayfa özel stiller (admin-member-list, Chat, Payments vb.) bunun üstüne çalışır.
 */

/* Yatay taşmayı kes (iç tablo kaydırıcıları çalışabilsin diye content-wrapper serbest) */
.layout-wrapper,
.layout-page {
  max-width: 100%;
  overflow-x: hidden;
}

.content-wrapper {
  max-width: 100%;
  overflow-x: visible;
}

.dash-route-vehicles-scroll,
.users-table-scroll,
.ops-table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

/* ——— İçerik boşlukları ——— */
@media (max-width: 575.98px) {
  .layout-page .content-wrapper > .container-xxl,
  .layout-page .content-wrapper > .container-xxl.container-p-y {
    padding-top: 0.75rem !important;
    padding-bottom: 1rem !important;
    padding-inline: 0.5rem !important;
  }

  /* container-p-x ekstra yan padding'i de sıfırla */
  .layout-page .content-wrapper .container-p-x {
    padding-inline: 0 !important;
  }

  /* Kartlar ekranı tam kaplar gibi görünsün */
  .layout-page .content-wrapper > .container-xxl > .row {
    --bs-gutter-x: 0.5rem;
  }
}

/* ——— Üst navbar ——— */

@media (max-width: 1199.98px) {
  .layout-navbar {
    block-size: auto;
    min-block-size: 3.25rem;
    padding-block: 0.35rem;
  }

  .layout-navbar.navbar-detached {
    inset-inline-start: 0.5rem !important;
    inset-inline-end: 0.5rem !important;
    inline-size: auto !important;
    margin-inline: 0 !important;
    padding-inline: 0.5rem !important;
  }

  /* core.dist.css'teki daha güçlü fixed-navbar kuralını ez */
  .layout-navbar-fixed .layout-navbar.navbar-detached {
    inset-inline-start: 0.5rem !important;
    inset-inline-end: 0.5rem !important;
    inline-size: auto !important;
    margin-inline: 0 !important;
  }

  #navbar-collapse .navbar-nav.flex-row {
    flex-wrap: nowrap;
    gap: 0.2rem;
  }

  #navbar-collapse .navbar-nav .nav-link,
  #navbar-collapse .navbar-nav .btn-icon {
    padding-inline: 0.35rem;
  }

  .layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
    padding-top: 4rem !important;
  }
}

@media (max-width: 575.98px) {
  .layout-navbar.navbar-detached {
    inset-inline-start: 0.5rem !important;
    inset-inline-end: 0.5rem !important;
    inline-size: auto !important;
    margin-inline: 0 !important;
  }

  .layout-navbar-fixed .layout-navbar.navbar-detached {
    inset-inline-start: 0.5rem !important;
    inset-inline-end: 0.5rem !important;
    inline-size: auto !important;
    margin-inline: 0 !important;
  }
}

/* Tabler ikonları: tüm cihazlarda görünür kutu (mask + boyut) */
.icon-base.ti,
.menu-icon.ti,
i.ti.tabler-search,
i.ti.tabler-menu-2 {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  background-color: currentColor;
}

/* Mobilde navbar araması ikonlara yer açsın (menüde arama yoksa gizle) */
@media (max-width: 767.98px) {
  #navbar-collapse > .navbar-nav.align-items-center:has(.navbar-search-wrapper) {
    display: none !important;
  }

  #navbar-collapse .navbar-search-wrapper {
    display: none !important;
  }

  .dropdown-notifications.navbar-dropdown {
    margin-inline-end: 0.35rem !important;
  }
}

/* Mobil arama modal */
#mobileSearchModal .modal-header {
  gap: 0.4rem;
}

#mobileSearchInput:focus {
  box-shadow: none;
}

#mobileSearchResultsList a:hover {
  background: rgba(var(--bs-primary-rgb), .06);
  color: var(--bs-primary) !important;
}

/* ——— İstatistik kartları (dashboard, listeler, takvim) ——— */
@media (max-width: 767.98px) {
  #memberListStatsRow,
  #adminListStatsRow,
  .paryuk-stat-row,
  .app-calendar-content .card-body > .row.g-3.mb-4 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem;
  }

  #memberListStatsRow > [class*='col-'],
  #adminListStatsRow > [class*='col-'],
  .paryuk-stat-row > [class*='col-'],
  .app-calendar-content .card-body > .row.g-3.mb-4 > [class*='col-'] {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .member-stat-card .card-body,
  .paryuk-stat-row .card .card-body,
  .app-calendar-content .card-body > .row.g-3.mb-4 > [class*='col-'] > .border {
    padding: 0.5rem 0.6rem !important;
  }

  .member-metric-label,
  .paryuk-stat-row .text-heading,
  .app-calendar-content .card-body > .row.g-3.mb-4 small {
    font-size: 0.68rem !important;
    line-height: 1.25;
    display: block;
  }

  .member-metric-value,
  .paryuk-stat-row h4,
  .app-calendar-content .card-body > .row.g-3.mb-4 h5 {
    font-size: 1.05rem !important;
    margin-top: 0.15rem !important;
    margin-bottom: 0 !important;
  }

  .member-metric-sub {
    font-size: 0.62rem;
    margin-top: 0.1rem;
  }

  .pay-hero .row.g-2 > .col-6 .pay-mini-card {
    padding: 0.55rem 0.65rem;
  }

  .pay-mini-label {
    font-size: 0.65rem !important;
    line-height: 1.2;
  }

  .pay-mini-value {
    font-size: 1rem !important;
    margin-bottom: 0 !important;
  }

  .pay-hero .card-body {
    padding: 0.85rem !important;
  }

  .pay-hero h4 {
    font-size: 1.05rem;
  }

  .pay-hero .pay-muted {
    font-size: 0.8rem;
  }

  .payments-filter-card .form-control {
    min-height: 2.5rem;
    font-size: max(0.875rem, 16px);
  }

  .pay-hero-metrics .pay-mini-card {
    padding: 0.55rem 0.45rem;
  }

  .pay-hero-metrics .pay-mini-label {
    font-size: 0.62rem;
    line-height: 1.2;
    gap: 0.15rem;
  }

  .pay-hero-metrics .pay-mini-label .icon-base {
    display: inline-block;
    flex-shrink: 0;
    font-size: 0.85rem !important;
    inline-size: 0.85rem !important;
    block-size: 0.85rem !important;
  }

  .pay-hero-metrics .pay-mini-value {
    font-size: 1.05rem !important;
  }

  .payments-list-card-header {
    padding-left: 0.85rem !important;
    padding-right: 0.85rem !important;
  }
}

/* ——— İlan fotoğrafı önizleme (mobil) ——— */
@media (max-width: 767.98px) {
  #opsPhotoViewerModal .modal-content {
    height: auto;
    max-height: calc(100dvh - 0.75rem);
  }

  #opsPhotoViewerModal .modal-header {
    padding: 0.65rem 0.85rem;
  }

  #opsPhotoViewerModal .modal-title {
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: calc(100% - 2rem);
  }

  #opsPhotoViewerModal .modal-body {
    padding: 0.65rem 0.85rem;
  }

  #opsPhotoViewerModal .modal-footer {
    padding: 0.5rem 0.85rem;
  }

  .ops-photo-viewer-toolbar {
    margin-bottom: 0.45rem;
  }

  .ops-photo-viewer-toolbar .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.78rem;
  }

  .ops-photo-viewer-stage {
    max-height: min(42dvh, 280px);
    min-height: 0;
    flex: 0 1 auto;
  }

  .ops-photo-viewer-img {
    max-height: min(42dvh, 280px);
    width: auto;
    max-width: 100%;
    height: auto;
  }

  .ops-photo-viewer-thumbs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 0.5rem;
    padding-bottom: 0.15rem;
    scrollbar-width: thin;
  }

  .ops-photo-viewer-thumbs .ops-flow-photo-thumb {
    flex: 0 0 auto;
  }

  .ops-photo-viewer-thumbs .ops-flow-photo-thumb img {
    width: 48px;
    height: 48px;
  }
}

/* ——— Kart başlıkları ——— */
@media (max-width: 767.98px) {
  .layout-page .card-header .d-flex.justify-content-between.align-items-center:not(.flex-wrap):not(.gap-2) {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.5rem;
  }
}

/* ——— DataTables araç çubuğu ——— */
@media (max-width: 767.98px) {
  .card-datatable .dt-layout-row {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .card-datatable .dt-layout-row .dt-layout-start,
  .card-datatable .dt-layout-row .dt-layout-end {
    width: 100%;
  }

  .card-datatable .dt-search .form-control {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ——— Modallar & offcanvas ——— */
@media (max-width: 575.98px) {
  .layout-page .modal-dialog:not(.modal-fullscreen) {
    margin: 0.5rem auto;
    max-width: calc(100vw - 1rem);
  }

  .layout-page .offcanvas-end {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ——— Kullanıcı detay sekmeleri (Hesap, Güvenlik, …) ——— */
.admin-nav-pills-scroll,
.nav-align-top .nav-pills.admin-nav-pills-scroll {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 0.5rem !important;
  padding-bottom: 0.25rem;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}

.admin-nav-pills-scroll .nav-item,
.nav-align-top .nav-pills.admin-nav-pills-scroll .nav-item {
  flex: 0 0 auto;
}

.admin-nav-pills-scroll .nav-link,
.nav-align-top .nav-pills.admin-nav-pills-scroll .nav-link {
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .nav-align-top .nav-pills:not(.admin-nav-pills-scroll) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    gap: 0.5rem !important;
    padding-bottom: 0.25rem;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .nav-align-top .nav-pills:not(.admin-nav-pills-scroll) .nav-item {
    flex: 0 0 auto;
  }

  .nav-align-top .nav-pills:not(.admin-nav-pills-scroll) .nav-link {
    white-space: nowrap;
    padding: 0.55rem 0.8rem;
    font-size: 0.9rem;
    border-radius: 0.6rem;
  }

  .timeline-summary-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ——— Tablo kaydırma ipucu ——— */
.paryuk-table-scroll-hint,
.user-scroll-hint,
.users-scroll-hint,
.ops-scroll-hint,
.doc-scroll-hint {
  display: none;
  font-size: 0.75rem;
  color: #7367f0;
  margin: 0.25rem 0.75rem 0.5rem;
}

@media (max-width: 991.98px) {
  .paryuk-table-scroll-hint,
  .user-scroll-hint,
  .users-scroll-hint,
  .ops-scroll-hint,
  .doc-scroll-hint {
    display: block;
  }
}

/* ——— Hesap ayarları sekmeleri ——— */
.account-settings-mobile-tabs {
  scrollbar-width: thin;
  padding-bottom: 0.25rem;
}

.account-settings-mobile-tabs .nav-item {
  flex: 0 0 auto;
}

/* ——— Footer ——— */
@media (max-width: 575.98px) {
  .footer .container-xxl,
  .footer .container-fluid {
    flex-direction: column;
    text-align: center;
    gap: 0.35rem;
  }
}

/* ——— Bildirim dropdown ——— */
@media (max-width: 575.98px) {
  .navbar-dropdown.dropdown-notifications .dropdown-menu {
    min-inline-size: min(92vw, 20rem);
  }
}

/* ——— Tema seçici (güneş ikonu altında, sağa hizalı) ——— */
.layout-navbar .navbar-dropdown.dropdown-theme .paryuk-navbar-theme-menu {
  --paryuk-theme-menu-w: 13.5rem;
  min-inline-size: var(--paryuk-theme-menu-w);
  inline-size: var(--paryuk-theme-menu-w);
  padding: 0.35rem 0;
  border-radius: 0.5rem;
}

.layout-navbar .navbar-dropdown.dropdown-theme .paryuk-navbar-theme-menu .dropdown-item {
  min-block-size: 2.75rem;
  padding: 0.65rem 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
}

.layout-navbar .navbar-dropdown.dropdown-theme .paryuk-navbar-theme-menu .dropdown-item span {
  display: flex;
  align-items: center;
  inline-size: 100%;
}

/* ——— Hesabım / Çıkış (navbar kullanıcı menüsü) ——— */
.layout-navbar .navbar-dropdown.dropdown-user .paryuk-navbar-user-menu {
  --paryuk-user-menu-w: 12.75rem;
  min-inline-size: var(--paryuk-user-menu-w);
  inline-size: var(--paryuk-user-menu-w);
  padding: 0.35rem 0;
  border-radius: 0.5rem;
}

.layout-navbar .navbar-dropdown.dropdown-user .paryuk-navbar-user-menu .dropdown-item {
  min-block-size: 2.75rem;
  padding: 0.65rem 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
}

.layout-navbar .navbar-dropdown.dropdown-user .paryuk-navbar-user-menu .dropdown-item > .d-flex {
  inline-size: 100%;
}

.layout-navbar .navbar-dropdown.dropdown-user .paryuk-navbar-user-menu .dropdown-item .icon-md {
  inline-size: 1.35rem;
  block-size: 1.35rem;
}

@media (max-width: 767.98px) {
  /* Tema: genel %92 genişlik kuralını geçersiz kıl — ikon altında sağa hizalı */
  .layout-navbar .navbar-nav .nav-item.dropdown-theme {
    position: relative;
    float: none;
  }

  .layout-navbar .navbar-nav .nav-item.dropdown-theme .paryuk-navbar-theme-menu {
    position: absolute !important;
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
    inline-size: var(--paryuk-theme-menu-w) !important;
    min-inline-size: var(--paryuk-theme-menu-w) !important;
    max-inline-size: min(var(--paryuk-theme-menu-w), calc(100vw - 1rem));
    margin-top: 0.35rem;
    transform: none !important;
  }

  .layout-navbar .navbar-dropdown.dropdown-theme .paryuk-navbar-theme-menu .dropdown-item {
    min-block-size: 3rem;
    padding: 0.75rem 1rem;
  }

  .layout-navbar .navbar-nav .nav-item.dropdown-user {
    position: relative;
    float: none;
  }

  .layout-navbar .navbar-nav .nav-item.dropdown-user .paryuk-navbar-user-menu {
    position: absolute !important;
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
    inline-size: var(--paryuk-user-menu-w) !important;
    min-inline-size: var(--paryuk-user-menu-w) !important;
    max-inline-size: min(var(--paryuk-user-menu-w), calc(100vw - 1rem));
    margin-top: 0.35rem;
    transform: none !important;
  }

  .layout-navbar .navbar-dropdown.dropdown-user .paryuk-navbar-user-menu .dropdown-item {
    min-block-size: 3rem;
    padding: 0.75rem 1rem;
  }
}

@media (max-width: 575.98px) {
  .layout-navbar .navbar-dropdown.dropdown-theme .paryuk-navbar-theme-menu {
    --paryuk-theme-menu-w: min(13.5rem, calc(100vw - 1.25rem));
  }

  .layout-navbar .navbar-dropdown.dropdown-user .paryuk-navbar-user-menu {
    --paryuk-user-menu-w: min(12.75rem, calc(100vw - 1.25rem));
  }
}

/* ——— Mobil son kontrol (Select2, dropdown, dokunma, taşma) ——— */
@media (max-width: 767.98px) {
  /* iOS: küçük input odakta sayfa zoom yapmasın */
  .layout-page .form-control,
  .layout-page .form-select,
  .layout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: max(0.9rem, 16px);
  }

  .layout-page .select2-container--open .select2-dropdown {
    z-index: 1101;
  }

  .layout-page .card-body:has(.select2-container--open),
  .layout-page .card-header:has(.select2-container--open) {
    overflow: visible;
  }

  .member-filter-grid #userFiltersResetBtn,
  .ops-filter-grid .btn,
  .payments-segment-group .payments-segment-btn {
    min-height: 2.75rem;
  }

  #adminFilePreviewModal .modal-dialog {
    max-width: calc(100vw - 1rem);
    margin: 0.5rem auto;
  }

  #adminFilePreviewModal .modal-footer.admin-preview-footer {
    justify-content: center;
  }

  #adminFilePreviewModal .modal-footer .admin-file-preview-zoom-bar {
    width: 100%;
    justify-content: center;
    margin-right: 0;
    margin-bottom: 0.25rem;
  }

  .dash-route-vehicles-scroll th.paryuk-plate-col,
  .dash-route-vehicles-scroll td.paryuk-plate-cell {
    width: 7.75rem;
    min-width: 7.75rem;
    max-width: 7.75rem;
    text-align: center !important;
  }

  /* Dashboard — aktif iş araçları ⋮ menü (mobil dokunma) */
  .dash-route-vehicles-menu {
    position: relative;
    z-index: 20;
  }

  .dash-route-vehicles-menu .dropdown-menu.show {
    z-index: 1095 !important;
    pointer-events: auto;
  }

  .dash-route-vehicles-menu .dropdown-item {
    min-height: 2.75rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .col-12.order-5 .card-datatable {
    position: relative;
    z-index: 1;
  }

  /* Hesap ayarları — bildirimler sekmesi */
  .admin-notifications-card .card-header .btn,
  .admin-notifications-card #accountNotificationsList [data-mark-read] {
    min-height: 2.75rem;
    touch-action: manipulation;
  }

  .account-settings-mobile-tabs .nav-link {
    min-height: 2.5rem;
    touch-action: manipulation;
  }
}

@supports (padding: max(0px)) {
  .layout-navbar.navbar-detached {
    padding-left: max(0.5rem, env(safe-area-inset-left));
    padding-right: max(0.5rem, env(safe-area-inset-right));
  }

  @media (max-width: 575.98px) {
    .layout-page .content-wrapper > .container-xxl,
    .layout-page .content-wrapper > .container-xxl.container-p-y {
      padding-left: max(0.5rem, env(safe-area-inset-left)) !important;
      padding-right: max(0.5rem, env(safe-area-inset-right)) !important;
    }
  }

  @media (min-width: 576px) {
    .layout-page .content-wrapper > .container-xxl.container-p-y {
      padding-left: max(0.75rem, env(safe-area-inset-left));
      padding-right: max(0.75rem, env(safe-area-inset-right));
    }
  }
}

