/**
 * Site-next modallar: mobil tam ekran hissi, eksik taşma düzeltmeleri.
 */

html.sn-modal-active {
  overflow: hidden;
  height: 100%;
}

html.sn-modal-active body {
  overflow: hidden;
}

html {
  --sn-modal-desktop-max-height: min(88vh, 720px);
}

#sn-auth-modals-mount:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-modal-layout, 1000);
  pointer-events: none;
}

#sn-auth-modals-mount:not([hidden]) .modal-layout_wrapper-C9j8A:not([hidden]) {
  pointer-events: auto;
}

@media (max-width: 1023.98px) {
  html {
    --sn-modal-mobile-vh: var(--sn-visual-vh, 100dvh);
    --sn-modal-mobile-offset-top: var(--sn-visual-offset-top, 0px);
    --sn-modal-mobile-offset-bottom: var(--sn-visual-offset-bottom, 0px);
    --sn-modal-mobile-safe-top: max(env(safe-area-inset-top, 0px), 8px);
    --sn-modal-mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    --sn-modal-mobile-max-height: calc(
      var(--sn-modal-mobile-vh) - var(--sn-modal-mobile-safe-top) - var(--sn-modal-mobile-safe-bottom)
    );
  }

  .modal-layout_wrapper-C9j8A:has(.site-next-auth-modal) {
    contain: none;
    position: fixed;
    inset: 0;
    z-index: var(--z-index-modal-layout, 1000);
    pointer-events: none;
  }

  .modal-layout_wrapper-C9j8A:has(.site-next-auth-modal:not([hidden])) {
    pointer-events: auto;
  }

  .desktop-modal_root-FWyPd.site-next-auth-modal {
    --sn-modal-sheet-duration: 0.26s;
    --sn-modal-sheet-ease: cubic-bezier(0.32, 0.72, 0, 1);
    position: fixed !important;
    top: var(--sn-modal-mobile-offset-top) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    z-index: 1;
    justify-content: flex-end !important;
    align-items: stretch !important;
    flex-direction: column !important;
    height: var(--sn-modal-mobile-vh) !important;
    min-height: var(--sn-modal-mobile-vh) !important;
    max-height: var(--sn-modal-mobile-vh) !important;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* Tüm backdrop türleri */
  .desktop-modal_root-FWyPd.site-next-auth-modal .desktop-modal_backdrop-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-reg-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-login-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-profile-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-profile-settings-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-deposit-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-deposit-checkout-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-withdraw-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-withdraw-detail-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-balance-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-support-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-voucher-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-forgot-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-changepw-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-email-verify-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-complete-profile-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-ai-backdrop,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-bcc-backdrop {
    position: fixed;
    inset: 0;
    z-index: 0;
    background: var(--color-background-base-alfa-scrim, rgba(0, 0, 0, 0.72));
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity var(--sn-modal-sheet-duration) ease;
  }

  .desktop-modal_root-FWyPd.site-next-auth-modal .desktop-modal_backdrop-FWyPd.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-reg-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-login-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-profile-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-profile-settings-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-deposit-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-deposit-checkout-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-withdraw-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-withdraw-detail-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-balance-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-support-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-voucher-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-forgot-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-changepw-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-email-verify-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-complete-profile-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-ai-backdrop.desktop-modal_open-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal .sn-bcc-backdrop.desktop-modal_open-FWyPd {
    opacity: 1;
  }

  /* Tüm modal kartları: mobilde tam genişlik sheet (desktop-modal_card tabanlı) */
  .desktop-modal_root-FWyPd.site-next-auth-modal .desktop-modal_card-FWyPd {
    position: fixed !important;
    z-index: 1;
    top: auto !important;
    bottom: var(--sn-modal-mobile-offset-bottom) !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    border-radius: var(--modal-rounding, 16px) var(--modal-rounding, 16px) 0 0;
    max-height: var(--sn-modal-mobile-max-height) !important;
    min-height: 0;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding-block-end: max(var(--spacing-12), var(--sn-modal-mobile-safe-bottom));
    box-shadow: 0 calc(var(--v03fd8a62, 714) * 1px - var(--modal-rounding, 16px)) 0 var(--v0aed1b6e, var(--modal-color-bg));
    transform: translate3d(0, 100%, 0);
    opacity: 1;
    pointer-events: none;
    transition: transform var(--sn-modal-sheet-duration) var(--sn-modal-sheet-ease);
    will-change: transform;
  }

  .desktop-modal_root-FWyPd.site-next-auth-modal .desktop-modal_card-FWyPd.desktop-modal_open-FWyPd {
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto;
  }

  .desktop-modal_root-FWyPd.site-next-auth-modal .modal-header_root-27LrA {
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 3;
    background: var(--modal-color-bg, var(--color-background-base-primary));
  }

  /* İçerik kaydırılabilir gövde */
  #site-next-modal-deposit .paywidget-app,
  #site-next-modal-deposit-checkout .paywidget-app,
  #site-next-modal-withdraw .paywidget-app,
  #site-next-modal-withdraw-detail .paywidget-app,
  #site-next-modal-profile .profile_root-BeWTJ,
  #site-next-modal-profile-settings .profile_root-BeWTJ,
  #site-next-modal-profile-settings .settings_root-USRA1,
  #site-next-modal-balance .main_root-kSLOD,
  #site-next-modal-payment-history .payment-history_root,
  #site-next-modal-voucher .voucher-form_root,
  #site-next-modal-forgot-password .recovery-password_root,
  #sn-casino-search-modal .search_content-2Cs6o,
  #site-next-modal-login .login_root,
  #site-next-modal-change-password .changepw_root,
  #site-next-modal-register .auth_content-4i6g6,
  #site-next-modal-login .auth_content-4i6g6,
  #site-next-modal-forgot-password .auth_content-4i6g6,
  #site-next-modal-complete-profile .auth_content-4i6g6 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }

  /* Kayıt: tek scroll katmanı auth_content; iç sarmalayıcı doğal yükseklikte kalır */
  #site-next-modal-register .registration_root,
  #site-next-modal-register .sign-up_form-CAEBg {
    flex: 0 0 auto !important;
    min-height: auto !important;
    overflow: visible !important;
    overflow-y: visible !important;
  }

  #site-next-modal-deposit .billing_root-E5dHY,
  #site-next-modal-withdraw .billing_root-E5dHY {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }

  #site-next-modal-deposit ._container_10hn6_6,
  #site-next-modal-withdraw ._container_10hn6_6 {
    padding-inline: max(12px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  }

  .paywidget-app ._methodCard_r4vt6_2,
  .paywidget-app [class*='methodCard'] {
    max-width: none !important;
    width: 100%;
  }

  .modal-header_primaryHeaderWithBack-27LrA {
    flex-wrap: nowrap;
    gap: var(--spacing-8);
    min-height: 48px;
  }

  .modal-header_back-27LrA {
    flex-shrink: 0;
    min-width: 44px;
    min-height: 44px;
  }

  /* Promosyon detay modalı (ayrı vendor yapısı) */
  #site-next-modal-promotion .modal-promo-desktop_root-SygNr {
    top: var(--sn-modal-mobile-offset-top) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    height: var(--sn-modal-mobile-vh) !important;
    min-height: var(--sn-modal-mobile-vh) !important;
    max-height: var(--sn-modal-mobile-vh) !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
  }

  #site-next-modal-promotion .modal-promo-desktop_card-SygNr {
    position: fixed !important;
    top: auto !important;
    bottom: var(--sn-modal-mobile-offset-bottom) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: var(--sn-modal-mobile-max-height) !important;
    margin: 0 !important;
    border-radius: var(--modal-rounding, 16px) var(--modal-rounding, 16px) 0 0;
    transform: translate3d(0, 100%, 0);
    padding-bottom: max(var(--spacing-12), var(--sn-modal-mobile-safe-bottom));
  }

  #site-next-modal-promotion .modal-promo-desktop_card-SygNr.modal-promo-desktop_open-SygNr {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
  }

  #site-next-modal-promotion .modal-promo-desktop_card-SygNr:not(.modal-promo-desktop_open-SygNr) {
    transform: translate3d(0, 100%, 0) !important;
  }
}

@media (min-width: 1024px) {
  #site-next-modal-deposit .desktop-modal_card-FWyPd,
  #site-next-modal-withdraw .desktop-modal_card-FWyPd,
  #site-next-modal-profile .sn-profile-card,
  #site-next-modal-profile-settings .sn-profile-settings-card,
  #site-next-modal-balance .sn-balance-card,
  #site-next-modal-complete-profile .sn-complete-profile-card {
    max-height: var(--sn-modal-desktop-max-height) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .desktop-modal_root-FWyPd.site-next-auth-modal .desktop-modal_card-FWyPd,
  .desktop-modal_root-FWyPd.site-next-auth-modal [class*='-card'] {
    transition: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}
