/* STM Limit - musteri anasayfasi tam ekran ve sabit */
html:has(body.site-bg),
html:has(body.site-bg) body{
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden !important;
  overscroll-behavior:none;
}

body.site-bg{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  min-height:0 !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  display:block !important;
}

body.site-bg > .topbar{
  position:absolute !important;
  top:0 !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:2 !important;
  height:clamp(48px,8dvh,72px) !important;
  max-width:1240px !important;
  width:100% !important;
  padding:0 20px !important;
  margin:0 auto !important;
  overflow:hidden !important;
}

body.site-bg > .landing{
  width:100% !important;
  max-width:1240px !important;
  height:100dvh !important;
  min-height:0 !important;
  max-height:100dvh !important;
  margin:0 auto !important;
  padding:clamp(68px,10dvh,98px) 20px !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) !important;
  gap:clamp(12px,3vw,55px) !important;
  align-items:center !important;
  overflow:hidden !important;
}

body.site-bg .intro{
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
  align-self:center !important;
}
body.site-bg .intro h1{
  font-size:clamp(24px,3.8vw,56px) !important;
  line-height:1.07 !important;
  letter-spacing:-1.5px !important;
  margin:10px 0 !important;
}
body.site-bg .intro p{
  font-size:clamp(12px,1.25vw,17px) !important;
  line-height:1.35 !important;
  margin:8px 0 !important;
}
body.site-bg .benefit{
  margin-top:clamp(10px,2dvh,23px) !important;
  gap:10px !important;
}

/* Form karti: ic bosluklar dort yonde dengeli */
body.site-bg > .landing > .form-card{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:clamp(36px,4vw,52px) !important;
  border-radius:16px !important;
  box-sizing:border-box !important;
}

body.site-bg .form-head{flex:0 0 auto !important;}
body.site-bg .form-head h2{
  font-size:clamp(18px,2vw,25px) !important;
  margin:4px 0 8px !important;
}
body.site-bg .form-head p{
  font-size:12px !important;
  line-height:1.3 !important;
  margin:0 0 6px !important;
}
body.site-bg .steps{
  flex:0 0 auto !important;
  margin:clamp(10px,1.6dvh,16px) 0 !important;
  gap:6px !important;
}
body.site-bg .steps .step{
  width:28px !important;
  height:28px !important;
  font-size:12px !important;
  flex-shrink:0 !important;
}
body.site-bg .steps i{width:clamp(10px,3vw,55px) !important;}

body.site-bg #limit-form{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  flex:1 1 0% !important;
  overflow:hidden !important;
}
body.site-bg #limit-form > .form-step:not([hidden]){
  display:block !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  scrollbar-width:thin;
  padding-right:6px !important;
}
body.site-bg #limit-form > .form-step[hidden]{display:none !important;}
body.site-bg #limit-form > .form-actions{
  flex:0 0 auto !important;
  margin-top:12px !important;
  padding-top:14px !important;
  border-top:1px solid #e9ebef !important;
}

body.site-bg .form-actions .btn{padding:10px 16px !important;}
body.site-bg .form-card label{margin:10px 0 !important;}
body.site-bg .form-card fieldset{margin:12px 0 !important;}
body.site-bg .form-card input:not([type=radio]):not([type=checkbox]),
body.site-bg .form-card select{
  height:38px !important;
  margin-top:6px !important;
}
body.site-bg .step-title{margin:6px 0 12px !important;}
body.site-bg .success-icon{margin:10px auto !important;}

@media(max-width:850px){
  body.site-bg > .landing{
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    gap:8px !important;
    padding:clamp(55px,8dvh,75px) 12px !important;
    align-items:stretch !important;
  }
  body.site-bg .intro{
    align-self:stretch !important;
    max-height:none !important;
  }
  body.site-bg .intro h1{
    font-size:clamp(20px,3.6dvh,32px) !important;
    margin:4px 0 !important;
  }
  body.site-bg .intro p{
    font-size:11px !important;
    line-height:1.25 !important;
    margin:3px 0 !important;
  }
  body.site-bg .benefit{
    margin-top:5px !important;
    gap:8px !important;
  }
  body.site-bg .benefit span,
  body.site-bg .benefit b{
    font-size:10px !important;
    gap:2px !important;
  }
  body.site-bg > .landing > .form-card{
    padding:clamp(24px,5vw,34px) !important;
  }
  body.site-bg .form-head h2{font-size:19px !important;}
  body.site-bg .form-head p{font-size:11px !important;}
}

@media(max-width:550px){
  body.site-bg > .topbar{
    height:48px !important;
    padding:0 12px !important;
  }
  body.site-bg .top-caption{display:none !important;}
  body.site-bg .intro h1{font-size:clamp(20px,3dvh,27px) !important;}
}

@media(max-width:380px){
  body.site-bg > .landing > .form-card{
    padding:20px !important;
  }
}

@media(max-height:620px){
  body.site-bg .intro p,
  body.site-bg .benefit,
  body.site-bg .form-head p{display:none !important;}
  body.site-bg > .topbar{height:45px !important;}
  body.site-bg > .landing{
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
  body.site-bg > .landing > .form-card{
    padding:18px 20px !important;
  }
}

/* MOBIL: dogal belge akisi, tam-ekran kilidi sadece masaustunde. */
@media (max-width: 850px) {
  html:has(body.site-bg),
  html:has(body.site-bg) body.site-bg {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
  }
  body.site-bg > .topbar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    height: auto !important;
    min-height: 56px !important;
    overflow: visible !important;
  }
  body.site-bg > .landing {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 24px 16px 40px !important;
    gap: 24px !important;
    overflow: visible !important;
    align-items: stretch !important;
  }
  body.site-bg .intro {
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.site-bg .intro p,
  body.site-bg .benefit,
  body.site-bg .form-head p {
    display: revert !important;
  }
  body.site-bg > .landing > .form-card {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 24px !important;
  }
  body.site-bg #limit-form {
    display: flex !important;
    flex: initial !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  body.site-bg #limit-form > .form-step:not([hidden]) {
    display: block !important;
    flex: initial !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }
  body.site-bg #limit-form > .form-step[hidden] {
    display: none !important;
  }
  body.site-bg #limit-form > .form-actions {
    margin-top: 20px !important;
    padding-top: 18px !important;
  }
}
@media (max-width: 380px) {
  body.site-bg > .landing {padding: 20px 12px 32px !important;}
  body.site-bg > .landing > .form-card {padding: 20px !important;}
}

/* Mobil: tek kaydirma belgenin kendisinde. Form kendi icinde ASLA kaymaz. */
@media screen and (max-width: 850px) {
  html:has(body.site-bg) {
    position: static !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  html:has(body.site-bg) body.site-bg {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.site-bg > .landing,
  body.site-bg > .landing > .form-card,
  body.site-bg #limit-form,
  body.site-bg #limit-form > .form-step:not([hidden]) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    flex-shrink: 0 !important;
  }
  body.site-bg #limit-form > .form-step[hidden] {display: none !important;}
}
