:root {
  /* 기본값은 iOS 대응을 위해 env 사용 */
  --sat: env(safe-area-inset-top);
  --sar: env(safe-area-inset-right);
  --sab: env(safe-area-inset-bottom);
  --sal: env(safe-area-inset-left);
}

/* 안드로이드일 때만 상단 여백(SAT)을 0으로 강제 */
.is-android:root {
  --sat: 0px;  
}

body {
  /* iOS는 노치를 보호하고, 안드로이드는 0px로 위로 붙음 */
  padding: var(--sat) var(--sar) var(--sab) var(--sal);
}

/* main nav */
.v30 nav > ul.fnb.menu {
  height: calc(var(--sab) + 60px);
}
.is-android .v30 nav > ul.fnb.menu {
  height: 60px !important;
}

/* 2025 aljam css */
.aljam .aljam__inner-fix:has(.aljam__write-list > li.full-height) {
  height: calc(var(--sab) + 100vh);
}

.aljam .aljam__inner-fix .aljam__header {
  top: var(--sat);
}

.aljam .aljam__inner-fix .aljam__header + .aljam__page:has(.aljam__tablist):not(:has(.aljam__profile)) .aljam__tablist {
  top: calc(var(--sat) + 60px);
}

.aljam .aljam__inner-fix .aljam__profile + .aljam__tablist {
  top: 0;
}

.aljam .aljam__inner-fix .aljam__tablist {
  top: var(--sat);
}

.aljam .aljam__inner-fix .aljam__box + * {
  bottom: var(--sab);
}

.aljam .aljam__inner-fix .aljam__btn-fix-left, 
.aljam .aljam__inner-fix .aljam__btn-fix-right {
  bottom: calc(var(--sab) + 20px);
}

.aljam .aljam__layer {
  height: calc(var(--sab) + 100%);
  padding-bottom: var(--sab);
}

.aljam .aljam__layer#questionBuyLayer {
  height: calc(var(--sab) + 100% + 1px);
}