/* ——— Önizleme modalı (belge kuyruğu, işletme, üye hesabı) ——— */

#adminFilePreviewModal .modal-dialog {

  max-width: min(92vw, 720px);

  margin: 0.75rem auto;

}



#adminFilePreviewModal .modal-content {

  max-width: 100%;

  overflow: hidden;

  border-radius: 0.85rem;

  box-shadow: 0 12px 40px rgba(47, 43, 61, 0.18);

}



#adminFilePreviewModal .modal-header {

  align-items: flex-start;

  gap: 0.5rem;

  padding: 0.85rem 1rem 0.65rem;

  flex-shrink: 0;

  border-bottom: 1px solid var(--bs-border-color);

}



#adminFilePreviewModal .modal-title {

  flex: 1 1 auto;

  min-width: 0;

  margin: 0;

  font-size: 0.95rem;

  font-weight: 600;

  line-height: 1.35;

  text-align: start;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;

}



#adminFilePreviewModal .modal-body {

  overflow-x: hidden;

  overflow-y: auto;

  max-width: 100%;

  padding: 0.75rem 1rem;

}



#adminFilePreviewModal .modal-footer.admin-preview-footer {

  flex-wrap: wrap;

  gap: 0.5rem;

  padding: 0.65rem 1rem;

  flex-shrink: 0;

  border-top: 1px solid var(--bs-border-color);

}



#adminFilePreviewModal .modal-footer .btn {

  min-height: 2.25rem;

}



#adminFilePreviewModal .admin-preview-pdf-wrap {

  width: 100%;

  max-width: 100%;

  overflow: hidden;

  border-radius: 0.5rem;

  border: 1px solid var(--bs-border-color);

}



#adminFilePreviewModal .admin-preview-pdf-wrap iframe {

  display: block;

  width: 100%;

  max-width: 100%;

  border: 0;

  min-height: 16rem;

}



.admin-preview-zoom {

  width: 100%;

  max-width: 100%;

  overflow: hidden;

}



.admin-preview-zoom-viewport {

  width: 100%;

  max-width: 100%;

  height: var(--preview-max-h, 52vh);

  min-height: 12rem;

  overflow: hidden;

  display: flex;

  align-items: center;

  justify-content: center;

  background: var(--bs-tertiary-bg, #f3f2f7);

  border: 1px solid var(--bs-border-color);

  border-radius: 0.5rem;

  cursor: zoom-in;

  touch-action: none;

  user-select: none;

  outline: none;

}



.admin-preview-zoom--fit .admin-preview-zoom-viewport--fit {

  height: auto;

  min-height: 0;

  max-height: var(--preview-fit-max-h, 52dvh);

  overflow: auto;

  -webkit-overflow-scrolling: touch;

  background: var(--bs-tertiary-bg, #f3f2f7);

  border: 1px solid var(--bs-border-color);

  border-radius: 0.5rem;

  cursor: default;

  touch-action: pan-y;

}



.admin-preview-zoom--fit .admin-preview-zoom-img {

  max-width: 100%;

  width: 100%;

  height: auto;

  max-height: none;

  object-fit: contain;

}



.admin-preview-zoom-viewport.is-zoomed {

  cursor: grab;

}



.admin-preview-zoom-viewport.is-dragging {

  cursor: grabbing;

}



.admin-preview-zoom-img {

  display: block;

  max-width: 100%;

  max-height: 100%;

  width: auto;

  height: auto;

  object-fit: contain;

  transform-origin: center center;

  will-change: transform;

  pointer-events: none;

}



.admin-preview-zoom-hint {

  font-size: 0.72rem;

  margin-top: 0.45rem;

  text-align: center;

}



.admin-file-preview-zoom-bar {

  display: inline-flex;

  align-items: center;

  gap: 0.35rem;

  margin-right: auto;

}



.admin-file-preview-zoom-pct {

  font-size: 0.8rem;

  font-weight: 600;

  min-width: 2.75rem;

  text-align: center;

  color: var(--bs-secondary-color);

}



/* Mobil: tam ekran değil — ortada kart / hafif alt sheet (WhatsApp, Drive benzeri) */

@media (max-width: 767.98px) {

  #adminFilePreviewModal .modal-dialog.admin-preview-sheet {

    width: calc(100% - 1.25rem);

    max-width: 26rem;

    margin: auto;

    min-height: auto;

    max-height: min(82dvh, 640px);

    height: auto;

    align-items: center;

  }



  #adminFilePreviewModal .modal-content {

    display: flex;

    flex-direction: column;

    max-height: min(82dvh, 640px);

    border-radius: 1rem;

    overflow: hidden;

  }



  #adminFilePreviewModal .modal-header {

    padding: 0.55rem 0.85rem 0.5rem;

    text-align: center;

    flex-direction: column;

    align-items: stretch;

    position: relative;

  }



  #adminFilePreviewModal .modal-header::before {

    content: "";

    display: block;

    width: 2.25rem;

    height: 0.22rem;

    margin: 0 auto 0.45rem;

    border-radius: 999px;

    background: rgba(75, 70, 92, 0.28);

  }



  #adminFilePreviewModal .modal-header .btn-close {

    position: absolute;

    top: 0.5rem;

    right: 0.5rem;

    margin: 0;

  }



  #adminFilePreviewModal .modal-title {

    font-size: 0.8rem;

    padding-right: 1.75rem;

    white-space: normal;

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    text-align: start;

  }



  #adminFilePreviewModal .modal-body {

    flex: 1 1 auto;

    min-height: 0;

    max-height: min(58dvh, 480px);

    overflow-y: auto;

    -webkit-overflow-scrolling: touch;

    padding: 0.5rem 0.65rem;

  }



  #adminFilePreviewModal .admin-preview-pdf-wrap {

    height: min(52dvh, 420px) !important;

    max-height: min(52dvh, 420px) !important;

    min-height: 14rem;

  }



  #adminFilePreviewModal .admin-preview-pdf-wrap iframe {

    min-height: 100%;

    height: 100%;

  }



  .admin-preview-zoom--fit {

    --preview-fit-max-h: min(52dvh, 420px);

  }



  #adminFilePreviewModal .admin-preview-zoom-hint {

    font-size: 0.68rem;

    line-height: 1.35;

  }



  #adminFilePreviewModal .modal-footer.admin-preview-footer {

    flex-direction: row;

    align-items: center;

    justify-content: stretch;

    gap: 0.45rem;

    padding: 0.55rem 0.65rem calc(0.55rem + env(safe-area-inset-bottom, 0px));

  }



  #adminFilePreviewModal .modal-footer .admin-file-preview-zoom-bar {

    display: none !important;

  }



  #adminFilePreviewModal .modal-footer .btn,

  #adminFilePreviewModal .modal-footer a.btn {

    flex: 1 1 0;

    width: auto;

    min-height: 2.45rem;

    margin: 0;

    font-size: 0.8rem;

    font-weight: 600;

    justify-content: center;

  }



  #adminFilePreviewModal .modal-footer a.btn-primary {

    box-shadow: 0 4px 12px rgba(95, 97, 230, 0.22);

  }

}


