/* Gülayın Mutfağı V17.0 — mobile/PWA application shell */
:root{--gm-burgundy:#8f213b;--gm-burgundy-2:#6e142b;--gm-gold:#c99a42;--gm-cream:#fffaf0;--gm-nav-h:68px;--gm-safe-bottom:env(safe-area-inset-bottom,0px);--gm-safe-top:env(safe-area-inset-top,0px)}
.gm-mobile-topbar,.gm-bottom-nav,.gm-search-sheet{display:none}
@media(max-width:820px){
  html{scroll-padding-bottom:calc(var(--gm-nav-h) + var(--gm-safe-bottom) + 20px)}
  body.gulay-mobile-v17{padding-bottom:calc(var(--gm-nav-h) + var(--gm-safe-bottom) + 18px)!important;overscroll-behavior-y:none}
  body.gulay-mobile-v17.gm-standalone{padding-top:var(--gm-safe-top)}
  .gm-mobile-topbar{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:6px;position:sticky;top:0;z-index:7800;min-height:56px;padding:6px 10px;background:rgba(255,250,240,.96);border-bottom:1px solid rgba(143,33,59,.12);box-shadow:0 5px 18px rgba(70,20,31,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .gm-standalone .gm-mobile-topbar{padding-top:calc(6px + var(--gm-safe-top));min-height:calc(56px + var(--gm-safe-top));top:0}
  .gm-mobile-topbar button{appearance:none;border:0;background:transparent;color:var(--gm-burgundy);width:44px;height:44px;border-radius:14px;display:grid;place-items:center;padding:9px;cursor:pointer}
  .gm-mobile-topbar button:active{background:rgba(143,33,59,.08);transform:scale(.97)}
  .gm-mobile-topbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .gm-back--hidden{visibility:hidden;pointer-events:none}
  .gm-mobile-title{text-align:center;min-width:0;line-height:1.05}.gm-mobile-title span{display:block;color:#4e1724;font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gm-mobile-title small{display:block;color:#977271;font-size:10px;letter-spacing:.08em;margin-top:4px;text-transform:uppercase}
  .gm-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:7900;height:calc(var(--gm-nav-h) + var(--gm-safe-bottom));padding:4px 8px var(--gm-safe-bottom);background:rgba(255,252,246,.97);border-top:1px solid rgba(143,33,59,.13);box-shadow:0 -10px 26px rgba(62,17,28,.1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .gm-nav-item{min-width:0;min-height:56px;color:#8e7072;text-decoration:none!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border-radius:14px;font-size:10px;font-weight:700;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .gm-nav-item svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
  .gm-nav-item.is-active{color:var(--gm-burgundy);background:rgba(143,33,59,.07)}
  .gm-nav-item.gm-search-trigger{transform:translateY(-7px);background:linear-gradient(145deg,var(--gm-burgundy),var(--gm-burgundy-2));color:#fff;min-height:58px;max-height:58px;margin:0 4px;border-radius:20px;box-shadow:0 8px 20px rgba(111,20,43,.22)}
  .gm-nav-item.gm-search-trigger span{color:#fff}.gm-nav-item.gm-search-trigger svg{width:23px;height:23px}
  #heroRadio.global-radio,#heroRadio{z-index:7850!important;max-width:calc(100vw - 20px)}
  #heroRadio.mobile-radio-collapsed{bottom:calc(var(--gm-nav-h) + var(--gm-safe-bottom) + 10px)!important}
  .pwa-install-btn{bottom:calc(var(--gm-nav-h) + var(--gm-safe-bottom) + 12px)!important}
  .gm-search-sheet{display:block;position:fixed;inset:0;z-index:9000}.gm-search-sheet[hidden]{display:none!important}.gm-search-backdrop{position:absolute;inset:0;background:rgba(44,8,18,.48);backdrop-filter:blur(4px)}
  .gm-search-panel{position:absolute;left:0;right:0;bottom:0;background:#fffaf4;border-radius:26px 26px 0 0;padding:18px 16px calc(18px + var(--gm-safe-bottom));box-shadow:0 -20px 60px rgba(32,5,13,.26);max-height:min(82vh,620px);overflow:auto}
  .gm-search-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.gm-search-head h2{margin:2px 0 0;color:#4d1724;font-size:22px}.gm-search-head small{color:#9b7573;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.gm-search-close{border:1px solid rgba(143,33,59,.14);background:#fff;width:42px;height:42px;border-radius:14px;color:var(--gm-burgundy);display:grid;place-items:center}.gm-search-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
  #gmSearchForm{display:grid;grid-template-columns:1fr auto;gap:8px}.gm-search-input-wrap{height:50px;background:#fff;border:1px solid rgba(143,33,59,.18);border-radius:15px;display:flex;align-items:center;padding:0 12px;gap:8px}.gm-search-input-wrap svg{width:20px;height:20px;fill:none;stroke:#9e7880;stroke-width:1.8}.gm-search-input-wrap input{border:0!important;outline:0!important;background:transparent!important;width:100%;min-width:0;height:100%;font-size:16px;color:#41101e}.gm-search-input-wrap input::-webkit-search-cancel-button{display:none}#gmSearchForm>button{border:0;border-radius:15px;background:var(--gm-burgundy);color:#fff;font-weight:800;padding:0 17px;min-width:62px}
  .gm-search-suggestions{display:grid;gap:6px;margin-top:10px}.gm-search-suggestions button{display:flex;text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:#fff;padding:12px 13px;border-radius:13px;color:#4b1723}.gm-search-suggestions button b{font-size:14px}.gm-search-suggestions button small{color:#9b777a;font-size:11px;flex:0 0 auto}
  html.gm-modal-open{overflow:hidden}
  .gm-recipe-carousel{margin:8px 0 34px}.gm-carousel-head{display:flex;justify-content:space-between;align-items:end;margin:0 2px 10px;color:#5c1b2c}.gm-carousel-head span{font-weight:800;font-size:16px}.gm-carousel-head small{color:#95777a}.gm-carousel-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;-webkit-overflow-scrolling:touch}.gm-carousel-track img,.gm-carousel-track video{flex:0 0 min(82vw,390px);width:min(82vw,390px);max-height:70vh;object-fit:contain;background:#2b1118;border-radius:18px;scroll-snap-align:center;box-shadow:0 10px 24px rgba(54,13,24,.12)}
  /* Existing hamburger stays available for secondary destinations; make touch target reliable. */
  .menu-btn{min-width:44px!important;min-height:44px!important;touch-action:manipulation}
}
@media(max-width:380px){.gm-bottom-nav{padding-left:4px;padding-right:4px}.gm-nav-item{font-size:9px}.gm-nav-item.gm-search-trigger{margin-left:1px;margin-right:1px}.gm-mobile-title span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.gm-nav-item,.gm-mobile-topbar button{transition:none!important;scroll-behavior:auto!important}}


/* V17.2 — radio freeze fix + stable mobile shell */
@media(max-width:820px){
  #heroRadio.global-radio,#heroRadio{
    position:fixed!important;left:10px!important;right:auto!important;top:auto!important;
    bottom:calc(var(--gm-nav-h) + var(--gm-safe-bottom) + 10px)!important;
    z-index:7850!important;transform:none!important;height:auto!important;min-height:0!important;max-height:148px!important;
    margin:0!important;touch-action:manipulation!important;overscroll-behavior:contain!important;
    box-sizing:border-box!important;overflow:visible!important;
  }
  #heroRadio.mobile-radio-collapsed{
    display:flex!important;align-items:center!important;gap:7px!important;
    width:min(174px,calc(100vw - 20px))!important;min-width:124px!important;max-width:174px!important;
    height:42px!important;min-height:42px!important;max-height:42px!important;
    padding:5px 7px 5px 9px!important;border-radius:999px!important;
    background:linear-gradient(180deg,rgba(121,23,50,.98),rgba(91,13,38,.98))!important;
    box-shadow:0 10px 24px rgba(47,7,20,.24)!important;
  }
  #heroRadio.mobile-radio-collapsed>*:not(.hero-radio-brand):not(#radioToggle):not(audio){display:none!important}
  #heroRadio.mobile-radio-collapsed .hero-radio-brand{display:flex!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;padding:0!important;gap:6px!important;cursor:pointer!important;touch-action:manipulation!important}
  #heroRadio.mobile-radio-collapsed .hero-radio-brand>span:last-child{display:flex!important;min-width:0!important}
  #heroRadio.mobile-radio-collapsed .hero-radio-brand small{display:none!important}
  #heroRadio.mobile-radio-collapsed .hero-radio-brand b{display:block!important;max-width:105px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fff7dc!important}
  #heroRadio.mobile-radio-collapsed .radio-grip{display:none!important}
  #heroRadio.mobile-radio-collapsed #radioToggle{display:grid!important;place-items:center!important;position:static!important;flex:0 0 30px!important;width:30px!important;height:30px!important;border-radius:999px!important;font-size:10px!important}
  #heroRadio:not(.mobile-radio-collapsed){
    display:grid!important;grid-template-columns:minmax(92px,1fr) 28px 34px 28px 30px 30px 28px!important;
    width:min(344px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;
    min-height:52px!important;max-height:148px!important;padding:7px!important;gap:4px!important;border-radius:16px!important;
    overflow:visible!important;background:linear-gradient(180deg,rgba(121,23,50,.985),rgba(91,13,38,.985))!important;
    box-shadow:0 12px 28px rgba(47,7,20,.28)!important;
  }
  #heroRadio:not(.mobile-radio-collapsed) .hero-radio-brand{grid-column:1!important;min-width:0!important;cursor:pointer!important}
  #heroRadio:not(.mobile-radio-collapsed) .hero-radio-brand small{display:none!important}
  #heroRadio:not(.mobile-radio-collapsed) .hero-radio-brand b{font-size:9px!important;max-width:88px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioPrev{grid-column:2!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioToggle{grid-column:3!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioNext{grid-column:4!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioMute{grid-column:5!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioSearchToggle{display:grid!important;grid-column:6!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioSizeToggle{display:grid!important;grid-column:7!important;font-size:15px!important}
  #heroRadio:not(.mobile-radio-collapsed) #radioLabelToggle,#heroRadio:not(.mobile-radio-collapsed) #radioClose{display:none!important}
  #heroRadio:not(.mobile-radio-collapsed) .radio-tools{display:none!important;grid-column:1/-1!important;max-height:72px!important;overflow:visible!important}
  #heroRadio:not(.mobile-radio-collapsed).tools-open .radio-tools{display:grid!important;grid-template-columns:1fr auto!important;gap:5px!important;padding-top:5px!important;border-top:1px solid rgba(255,225,154,.2)!important}
  #heroRadio:not(.mobile-radio-collapsed).tools-open .radio-search-wrap{grid-column:1/-1!important;display:block!important}
  #heroRadio:not(.mobile-radio-collapsed).tools-open .radio-volume{display:flex!important}
  #heroRadio:not(.mobile-radio-collapsed).tools-open .radio-status{display:block!important;font-size:8px!important}
  #heroRadio .radio-search-results{max-height:180px!important;overflow:auto!important}
}
@media(max-width:380px){
  #heroRadio.mobile-radio-collapsed{max-width:156px!important}
  #heroRadio.mobile-radio-collapsed .hero-radio-brand b{max-width:88px!important}
  #heroRadio:not(.mobile-radio-collapsed){width:calc(100vw - 16px)!important;left:8px!important}
}


/* V17.5 — PWA scroll recovery + mobile radio locked inside burgundy strip.
   Desktop (>=821px) is intentionally untouched and remains V17.4 locked. */
@media(max-width:820px){
  html:not(.gm-modal-open),html:not(.gm-modal-open) body{overflow-y:auto!important;max-height:none!important;height:auto!important}
  body.gulay-mobile-v17{overflow-y:auto!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch!important}
  body.gulay-mobile-v17.gm-standalone{overflow-y:auto!important}

  .topbar{
    position:relative!important;height:40px!important;min-height:40px!important;max-height:40px!important;
    padding:0 8px 0 min(58vw,210px)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;overflow:hidden!important
  }
  .topbar>#heroRadio,.topbar>.global-radio,.topbar>#heroRadio.mobile-radio-collapsed{
    position:absolute!important;left:0!important;top:0!important;right:auto!important;bottom:0!important;transform:none!important;
    width:min(58vw,210px)!important;min-width:0!important;max-width:210px!important;
    height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;padding:4px 6px!important;box-sizing:border-box!important;
    border:0!important;border-right:1px solid rgba(238,197,102,.48)!important;border-radius:0 10px 10px 0!important;
    background:linear-gradient(180deg,rgba(116,20,47,.995),rgba(91,12,36,.995))!important;box-shadow:none!important;overflow:hidden!important;z-index:8!important;
    display:grid!important;grid-template-columns:minmax(66px,1fr) 23px 29px 23px 27px!important;grid-template-rows:32px!important;align-items:center!important;gap:3px!important;touch-action:manipulation!important
  }
  .topbar>#heroRadio .hero-radio-brand{display:flex!important;grid-column:1!important;grid-row:1!important;min-width:0!important;width:auto!important;height:32px!important;align-items:center!important;gap:5px!important;padding:0!important;margin:0!important;cursor:default!important}
  .topbar>#heroRadio .hero-radio-brand>span:last-child{display:block!important;min-width:0!important}
  .topbar>#heroRadio .hero-radio-brand small,.topbar>#heroRadio .radio-grip{display:none!important}
  .topbar>#heroRadio .hero-radio-brand b{display:block!important;max-width:86px!important;color:#fff7dc!important;font-size:8.5px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .topbar>#heroRadio #radioPrev,.topbar>#heroRadio #radioNext{display:grid!important;place-items:center!important;position:static!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;margin:0!important;padding:0!important;border-radius:8px!important;font-size:14px!important}
  .topbar>#heroRadio #radioPrev{grid-column:2!important;grid-row:1!important}
  .topbar>#heroRadio #radioToggle{display:grid!important;place-items:center!important;position:static!important;grid-column:3!important;grid-row:1!important;width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;margin:0!important;padding:0!important;border-radius:9px!important;font-size:10px!important}
  .topbar>#heroRadio #radioNext{grid-column:4!important;grid-row:1!important}
  .topbar>#heroRadio #radioMute{display:grid!important;place-items:center!important;position:static!important;grid-column:5!important;grid-row:1!important;width:27px!important;height:27px!important;margin:0!important;padding:0!important;border-radius:8px!important;font-size:12px!important}
  .topbar>#heroRadio #radioLabelToggle,.topbar>#heroRadio #radioClose,.topbar>#heroRadio #radioSearchToggle,.topbar>#heroRadio #radioSizeToggle,.topbar>#heroRadio .radio-tools,.topbar>#heroRadio .radio-status,.topbar>#heroRadio .radio-volume,.topbar>#heroRadio .radio-search-wrap{display:none!important}
  .topbar-title{max-width:100%!important;width:100%!important;text-align:right!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10px!important;letter-spacing:.13em!important}

  #heroRadio.global-radio,#heroRadio,#heroRadio.mobile-radio-collapsed{bottom:auto!important}
}
@media(max-width:420px){
  .topbar{padding-left:min(61vw,202px)!important}
  .topbar>#heroRadio,.topbar>.global-radio,.topbar>#heroRadio.mobile-radio-collapsed{width:min(61vw,202px)!important}
  .topbar>#heroRadio .hero-radio-brand b{max-width:70px!important;font-size:8px!important}
  .topbar-title{font-size:9px!important;letter-spacing:.1em!important}
}


/* V17.6 — mobile/PWA radio controls: keep the good top-bar position, restore channel controls + close/reopen. */
.gm-radio-reopen{display:none}
@media(max-width:820px){
  .topbar{
    padding-left:min(66vw,236px)!important;
  }
  .topbar>#heroRadio,
  .topbar>.global-radio,
  .topbar>#heroRadio.mobile-radio-collapsed{
    width:min(66vw,236px)!important;
    max-width:236px!important;
    grid-template-columns:minmax(66px,1fr) 22px 30px 22px 24px!important;
    grid-template-rows:32px!important;
    gap:3px!important;
    padding:4px 6px!important;
    overflow:hidden!important;
  }
  .topbar>#heroRadio.mobile-radio-collapsed>*:not(.hero-radio-brand):not(#radioPrev):not(#radioToggle):not(#radioNext):not(#radioClose):not(audio){
    display:none!important;
  }
  .topbar>#heroRadio .hero-radio-brand{
    grid-column:1!important;grid-row:1!important;
  }
  .topbar>#heroRadio .hero-radio-brand b{
    max-width:82px!important;
  }
  .topbar>#heroRadio #radioPrev,
  .topbar>#heroRadio #radioNext{
    display:grid!important;place-items:center!important;position:static!important;
    width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
    margin:0!important;padding:0!important;border-radius:7px!important;font-size:14px!important;
  }
  .topbar>#heroRadio #radioPrev{grid-column:2!important;grid-row:1!important}
  .topbar>#heroRadio #radioToggle{
    display:grid!important;place-items:center!important;position:static!important;
    grid-column:3!important;grid-row:1!important;
    width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
    margin:0!important;padding:0!important;border-radius:9px!important;font-size:10px!important;
  }
  .topbar>#heroRadio #radioNext{grid-column:4!important;grid-row:1!important}
  .topbar>#heroRadio #radioClose{
    display:grid!important;place-items:center!important;position:static!important;
    grid-column:5!important;grid-row:1!important;
    width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
    margin:0!important;padding:0!important;border-radius:8px!important;
    font-size:16px!important;line-height:1!important;color:#ffe4df!important;
    background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,228,190,.18)!important;
  }
  .topbar>#heroRadio #radioMute,
  .topbar>#heroRadio #radioLabelToggle,
  .topbar>#heroRadio #radioSearchToggle,
  .topbar>#heroRadio #radioSizeToggle,
  .topbar>#heroRadio .radio-tools,
  .topbar>#heroRadio .radio-status,
  .topbar>#heroRadio .radio-volume,
  .topbar>#heroRadio .radio-search-wrap{display:none!important}

  .gm-radio-reopen{
    position:absolute;left:5px;top:5px;z-index:10;
    height:30px;max-width:92px;padding:0 11px;
    border:1px solid rgba(246,211,126,.58);border-radius:10px;
    background:linear-gradient(180deg,rgba(116,20,47,.99),rgba(91,12,36,.99));
    color:#fff4cf;font:800 10px/1 system-ui,-apple-system,Segoe UI,sans-serif;
    align-items:center;justify-content:center;gap:5px;
    box-shadow:none;white-space:nowrap;cursor:pointer;touch-action:manipulation;
  }
  .gm-radio-reopen.is-visible{display:inline-flex!important}
  .topbar:has(.gm-radio-reopen.is-visible){padding-left:100px!important}
  .topbar:has(.gm-radio-reopen.is-visible) .topbar-title{max-width:calc(100% - 90px)!important}
}
@media(max-width:420px){
  .topbar{padding-left:min(68vw,230px)!important}
  .topbar>#heroRadio,.topbar>.global-radio,.topbar>#heroRadio.mobile-radio-collapsed{width:min(68vw,230px)!important;max-width:230px!important}
  .topbar>#heroRadio .hero-radio-brand b{max-width:68px!important;font-size:8px!important}
}
