/* Ortak alt-uygulama kabuğu — her kök kapısı kendi stilini katmanlar.
   Desen: app bar + içerik + (isteğe) bottom sheet + tab bar.
   Dokunma: scroll-snap / sheet; Swiper CDN yok (yerel CSS). */
.alt-app{
  --alt-safe-b:env(safe-area-inset-bottom,0px);
  --alt-safe-t:env(safe-area-inset-top,0px);
  display:flex;
  flex-direction:column;
  min-height:min(78vh,720px);
  max-height:min(86vh,860px);
  border-radius:18px;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  font-family:system-ui,Segoe UI,Roboto,sans-serif;
}
html.gomulu .alt-app,
.spa-icerik .alt-app,
#kok-tohum .alt-app,
#kok-hava .alt-app,
#kok-tamus .alt-app{
  min-height:min(72vh,680px);
  max-height:none;
  height:min(78vh,760px);
  border-radius:14px;
}
html.gomulu .alt-app.td-app,
.spa-icerik .alt-app.td-app,
html.ada3d-zemin .alt-app.td-app{
  min-height:0;
  max-height:none;
  height:100%;
  border-radius:0;
  overflow:visible;
  isolation:auto;
}
.alt-app-ust{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.7rem .9rem;
  padding-top:calc(.7rem + var(--alt-safe-t));
  z-index:5;
}
.alt-app-baslik{
  flex:1 1 auto;
  min-width:0;
  font-weight:750;
  letter-spacing:.04em;
  font-size:.95rem;
  line-height:1.2;
}
.alt-app-alt{
  flex:0 0 auto;
  font-size:.72rem;
  opacity:.72;
  font-weight:500;
  letter-spacing:.02em;
  display:block;
  margin-top:.12rem;
}
.alt-app-govde{
  flex:1 1 auto;
  min-height:0;
  position:relative;
  overflow:hidden;
}
.alt-app-tab{
  flex:0 0 auto;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  gap:.2rem;
  padding:.35rem .45rem calc(.45rem + var(--alt-safe-b));
  z-index:6;
  border-top:1px solid transparent;
}
.alt-app-tab button{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  font:650 .68rem/1.15 system-ui,sans-serif;
  padding:.45rem .2rem .4rem;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.22rem;
  color:inherit;
  opacity:.62;
  min-height:3rem;
  -webkit-tap-highlight-color:transparent;
}
.alt-app-tab button svg{width:1.25rem;height:1.25rem;display:block}
.alt-app-tab button[aria-selected="true"]{
  opacity:1;
  font-weight:750;
}
.alt-app-ikon-btn{
  appearance:none;
  border:1px solid transparent;
  background:transparent;
  width:2.35rem;
  height:2.35rem;
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:inherit;
  flex:0 0 auto;
}
.alt-app-ikon-btn svg{width:1.15rem;height:1.15rem}
.alt-app-ikon-btn[aria-pressed="true"]{opacity:1}

/* Alt sheet — iOS/Android kart paneli */
.alt-sheet{
  position:absolute;
  left:.55rem;
  right:.55rem;
  bottom:calc(3.55rem + var(--alt-safe-b));
  z-index:8;
  border-radius:18px 18px 14px 14px;
  padding:0;
  transform:translateY(110%);
  opacity:0;
  pointer-events:none;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease;
  max-height:min(48%,320px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.alt-sheet.acik{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.alt-sheet-kulp{
  width:2.4rem;
  height:.28rem;
  border-radius:999px;
  margin:.55rem auto .15rem;
  opacity:.35;
  flex:0 0 auto;
}
.alt-sheet-ic{
  padding:.35rem 1rem 1rem;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.alt-sheet-kapat{
  position:absolute;
  top:.45rem;
  right:.55rem;
  appearance:none;
  border:0;
  background:transparent;
  width:2rem;
  height:2rem;
  border-radius:999px;
  cursor:pointer;
  font-size:1.25rem;
  line-height:1;
  opacity:.7;
}

/* Yatay madde şeridi (scroll-snap) */
.alt-snap{
  display:flex;
  gap:.55rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:.15rem .15rem .35rem;
  scrollbar-width:none;
}
.alt-snap::-webkit-scrollbar{display:none}
.alt-snap > *{
  flex:0 0 min(78%,260px);
  scroll-snap-align:start;
}

@media (min-width:768px){
  .alt-app{
    min-height:min(70vh,640px);
  }
  .alt-app-tab button{font-size:.74rem}
  .alt-sheet{
    left:auto;
    right:1rem;
    width:min(360px,42%);
    bottom:calc(3.8rem + var(--alt-safe-b));
    max-height:min(62%,420px);
  }
}

@media (prefers-reduced-motion:reduce){
  .alt-sheet{transition:none}
}
