/* =========================================================
   RÜYA V35 · VELİ ANA EKRAN · FIT TO SCREEN
   Header ve alt navigasyon bu dosyanın kapsamı dışındadır.
   ========================================================= */

.ruyaFitHomeV35{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  background:#fff!important;
}

.ruyaFitHomeV35Body{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:
    clamp(88px,15dvh,122px)
    minmax(0,1fr)!important;
  gap:7px!important;
  padding:3px 12px 7px!important;
  background:#fff!important;
}

/* HERO */

.ruyaFitHeroV35{
  position:relative!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) clamp(76px,22vw,106px)!important;
  align-items:center!important;
  gap:8px!important;
  overflow:visible!important;
}

.ruyaFitHeroCopyV35{
  min-width:0!important;
}

.ruyaFitHeroCopyV35 h1{
  margin:0 0 5px!important;
  color:#0b2f63!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif!important;
  font-size:clamp(14px,3.8vw,18px)!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.ruyaFitHeroCopyV35>img{
  display:block!important;
  width:min(100%,235px)!important;
  max-height:47px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.ruyaFitSmileV35{
  display:block!important;
  width:100%!important;
  max-width:106px!important;
  max-height:100%!important;
  justify-self:end!important;
  object-fit:contain!important;
}

.ruyaFitSwitchChildV35{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  border:1px solid #d9e3f0!important;
  background:#fff!important;
  color:#0b2f63!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  font-size:10px!important;
  font-weight:700!important;
}

/* İÇERİK */

.ruyaFitContentV35{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:
    clamp(62px,9.5dvh,78px)
    minmax(0,1fr)
    clamp(78px,11.5dvh,96px)!important;
  gap:7px!important;
}

.ruyaTodayV35{
  width:100%!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:11px!important;
  padding:7px 14px 7px 10px!important;
  border:1px solid #d5dfeb!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#f5f8fc 0%,#fff 100%)!important;
  box-shadow:0 4px 14px rgba(11,47,99,.06)!important;
  appearance:none!important;
  text-align:left!important;
}

.ruyaTodayIconV35{
  width:48px!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:13px!important;
  background:#eaf0f7!important;
}

.ruyaTodayIconV35 img{
  width:45px!important;
  height:45px!important;
  object-fit:contain!important;
}

.ruyaTodayTitleV35{
  min-width:0!important;
  color:#111!important;
  font-size:clamp(16px,4.4vw,20px)!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}

.ruyaTodayArrowV35{
  width:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#0b2f63!important;
  color:#fff!important;
  font:400 29px/1 Arial,sans-serif!important;
  padding-bottom:3px!important;
}

.ruyaFitGridV35{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:hidden!important;
}

.ruyaFitHomeV35 .ruyaFitCardV35{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
  display:grid!important;
  grid-template-columns:40% minmax(0,1fr)!important;
  align-items:center!important;
  gap:2px!important;
  padding:4px 7px 4px 3px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

.ruyaFitHomeV35 .ruyaFitCardV35>img{
  display:block!important;
  width:100%!important;
  height:88%!important;
  max-height:90px!important;
  object-fit:contain!important;
  justify-self:center!important;
}

.ruyaFitHomeV35 .ruyaFitCardV35 h3{
  margin:0 0 3px!important;
  font-size:clamp(11px,3.2vw,15px)!important;
  line-height:1.03!important;
  font-weight:800!important;
}

.ruyaFitHomeV35 .ruyaFitCardV35 p{
  margin:0!important;
  font-size:clamp(8px,2.1vw,10px)!important;
  line-height:1.15!important;
}

/* ÇOCUĞUMU HAZIRLA */

.ruyaFitHomeV35 .ruyaFitPickupV35{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:29% minmax(0,1fr)!important;
  align-items:center!important;
  padding:4px 12px 4px 5px!important;
  border-radius:20px!important;
  overflow:hidden!important;
}

.ruyaFitHomeV35 .ruyaFitPickupV35>img{
  width:100%!important;
  height:92%!important;
  max-height:82px!important;
  object-fit:contain!important;
}

.ruyaFitHomeV35 .ruyaFitPickupV35 h3{
  margin:0 0 3px!important;
  font-size:clamp(14px,3.8vw,18px)!important;
  font-weight:800!important;
}

.ruyaFitHomeV35 .ruyaFitPickupV35 p{
  margin:0!important;
  font-size:clamp(9px,2.3vw,11px)!important;
}

/* RÜYA'DA BUGÜN MODAL */

.ruyaTodayV35Back{
  z-index:9999!important;
}

.ruyaTodayV35Modal{
  width:min(calc(100vw - 28px),440px)!important;
  margin:auto!important;
  padding:18px!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 18px 60px rgba(11,47,99,.18)!important;
}

.ruyaTodayV35Head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:14px!important;
}

.ruyaTodayV35Head h2{
  margin:0 0 3px!important;
  color:#0b2f63!important;
  font-size:22px!important;
}

.ruyaTodayV35Head p{
  margin:0!important;
  color:#65758a!important;
  font-size:12px!important;
}

.ruyaTodayV35Head>button{
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:50%!important;
  background:#eef3f8!important;
  color:#0b2f63!important;
  font-size:22px!important;
}

.ruyaTodayV35Action{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  margin-top:9px!important;
  padding:15px!important;
  border:1px solid #dbe4ee!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#111!important;
  text-align:left!important;
}

.ruyaTodayV35Action b{
  color:#0b2f63!important;
  font-size:15px!important;
}

.ruyaTodayV35Action span{
  color:#66788d!important;
  font-size:11px!important;
}

/* KISA TELEFON */

@media (max-height:700px){
  .ruyaFitHomeV35Body{
    grid-template-rows:80px minmax(0,1fr)!important;
    gap:5px!important;
    padding-top:1px!important;
    padding-bottom:4px!important;
  }

  .ruyaFitContentV35{
    grid-template-rows:54px minmax(0,1fr) 68px!important;
    gap:5px!important;
  }

  .ruyaFitHeroCopyV35 h1{font-size:13px!important}
  .ruyaFitHeroCopyV35>img{max-height:36px!important}
  .ruyaFitSmileV35{max-width:82px!important}

  .ruyaTodayIconV35{
    width:42px!important;
    height:42px!important;
  }

  .ruyaTodayIconV35 img{
    width:39px!important;
    height:39px!important;
  }

  .ruyaFitHomeV35 .ruyaFitCardV35>img{
    max-height:65px!important;
  }

  .ruyaFitHomeV35 .ruyaFitPickupV35>img{
    max-height:61px!important;
  }
}

/* TABLET */

@media (min-width:700px){
  .ruyaFitHomeV35Body{
    width:min(720px,92vw)!important;
    margin:0 auto!important;
    grid-template-rows:clamp(105px,14dvh,140px) minmax(0,1fr)!important;
    gap:10px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .ruyaFitContentV35{
    grid-template-rows:
      clamp(70px,9dvh,86px)
      minmax(0,1fr)
      clamp(88px,11dvh,104px)!important;
    gap:10px!important;
  }

  .ruyaFitHeroV35{
    grid-template-columns:minmax(0,1fr) 125px!important;
  }

  .ruyaFitSmileV35{max-width:125px!important}
}

/* =========================================================
   RÜYA V40 · 8091 GERÇEK RESPONSIVE FIT
   iPhone / Android / iPad / Android Tablet
   ========================================================= */

/* Ana ekran dışında hiçbir sayfaya dokunmaz */
html:has(.ruyaFitHomeV35),
body:has(.ruyaFitHomeV35){
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:#fff!important;
}

body:has(.ruyaFitHomeV35) #root,
body:has(.ruyaFitHomeV35) #root .role-parent{
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}

body:has(.ruyaFitHomeV35)
#root .role-parent .main.parentMain{
  width:100%!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;

  margin:0!important;
  padding-bottom:0!important;

  box-sizing:border-box!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

/* Header'a dokunmuyoruz */
body:has(.ruyaFitHomeV35) .ruyaFitHomeV35{
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}

/* V37 JS:
   body başlangıcı ile gerçek bottom-nav üstünü ölçüp
   --ruya-parent-body-fit değerini buraya veriyor.
*/
body:has(.ruyaFitHomeV35) .ruyaFitHomeV35Body{
  width:100%!important;

  height:var(--ruya-parent-body-fit)!important;
  max-height:var(--ruya-parent-body-fit)!important;
  min-height:0!important;

  display:grid!important;

  /* 8091: HERO + KALAN İÇERİK */
  grid-template-rows:
    clamp(108px,15dvh,128px)
    minmax(0,1fr)!important;

  gap:7px!important;

  padding:
    3px
    12px
    7px!important;

  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* =========================================================
   ASIL 8091 MANTIĞI
   Bugün = kontrollü
   2x2 = kalan alanın TAMAMI
   Hazırla = kontrollü
   ========================================================= */

body:has(.ruyaFitHomeV35) .ruyaFitContentV35{
  width:100%!important;
  height:100%!important;
  min-height:0!important;

  display:grid!important;

  grid-template-rows:
    clamp(62px,9.5dvh,78px)
    minmax(0,1fr)
    clamp(78px,11.5dvh,96px)!important;

  gap:7px!important;
  overflow:hidden!important;
}

/* Bugün kartı kendi grid satırını tamamen kullanır */
body:has(.ruyaFitHomeV35) .ruyaTodayV35{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;

  aspect-ratio:auto!important;
}

/* 2x2 alan kalan bütün yüksekliği alır */
body:has(.ruyaFitHomeV35) .ruyaFitGridV35{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;

  display:grid!important;

  grid-template-columns:
    repeat(2,minmax(0,1fr))!important;

  grid-template-rows:
    repeat(2,minmax(0,1fr))!important;

  gap:7px!important;
  overflow:hidden!important;
}

/* Kart kutuları büyüyebilir.
   İçerideki ikon/görsel gerilmez. */
body:has(.ruyaFitHomeV35) .ruyaFitCardV35{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;

  aspect-ratio:auto!important;

  align-self:stretch!important;
}

/* Hazırla kendi kontrollü satırını kullanır */
body:has(.ruyaFitHomeV35) .ruyaFitPickupV35{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;

  aspect-ratio:auto!important;
}

/* GÖRSELLER ASLA BOZULMAZ */
body:has(.ruyaFitHomeV35) .ruyaFitCardV35>img{
  width:100%!important;
  height:88%!important;
  max-height:96px!important;

  object-fit:contain!important;
  object-position:center!important;

  align-self:center!important;
  justify-self:center!important;
}

body:has(.ruyaFitHomeV35) .ruyaFitPickupV35>img{
  width:100%!important;
  height:92%!important;
  max-height:92%!important;

  object-fit:contain!important;
  object-position:center!important;
}

body:has(.ruyaFitHomeV35) .ruyaFitHeroV35 img,
body:has(.ruyaFitHomeV35) .ruyaTodayIconV35 img{
  object-fit:contain!important;
}

/* =========================================================
   SHORT PHONE
   JS viewport < 740 olduğunda otomatik verir.
   ========================================================= */

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.short .ruyaFitHomeV35Body{
  grid-template-rows:
    100px
    minmax(0,1fr)!important;

  gap:5px!important;
  padding-top:1px!important;
  padding-bottom:4px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.short .ruyaFitContentV35{
  grid-template-rows:
    54px
    minmax(0,1fr)
    78px!important;

  gap:5px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.short .ruyaFitGridV35{
  gap:5px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.short .ruyaFitCardV35>img{
  max-height:74px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.short .ruyaFitPickupV35>img{
  max-height:70px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.short .ruyaFitSmileV35{
  max-width:75px!important;
}


/* =========================================================
   VERY SHORT PHONE
   JS viewport < 670
   ========================================================= */

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.very-short .ruyaFitHomeV35Body{
  grid-template-rows:
    88px
    minmax(0,1fr)!important;

  gap:4px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.very-short .ruyaFitContentV35{
  grid-template-rows:
    50px
    minmax(0,1fr)
    68px!important;

  gap:4px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.very-short .ruyaFitGridV35{
  gap:4px!important;
}

body:has(.ruyaFitHomeV35)
.ruyaFitHomeV35.very-short .ruyaFitSmileV35{
  max-width:64px!important;
}


/* Çok dar Android / küçük iPhone */
@media(max-width:370px){

  body:has(.ruyaFitHomeV35) .ruyaFitHomeV35Body{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body:has(.ruyaFitHomeV35) .ruyaFitGridV35{
    gap:6px!important;
  }
}


/* =========================================================
   TABLET
   Telefon arayüzünü devleştirmeden ekranı doldur.
   ========================================================= */

@media(min-width:700px){

  body:has(.ruyaFitHomeV35) .ruyaFitHomeV35Body{
    width:min(92vw,720px)!important;
    margin:0 auto!important;

    grid-template-rows:
      clamp(116px,14dvh,142px)
      minmax(0,1fr)!important;

    gap:10px!important;

    padding-left:20px!important;
    padding-right:20px!important;
  }

  body:has(.ruyaFitHomeV35) .ruyaFitContentV35{
    grid-template-rows:
      clamp(70px,9dvh,86px)
      minmax(0,1fr)
      clamp(88px,11dvh,104px)!important;

    gap:10px!important;
  }

  body:has(.ruyaFitHomeV35) .ruyaFitGridV35{
    gap:10px!important;
  }
}
