/* Adunel asistan sohbeti; renkler theme.css değişkenlerinden. */
.ai-examples{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}
.ai-chip{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--brand);font-size:14px;font-weight:600;cursor:pointer;text-align:left}
.ai-chip:hover,.ai-chip:focus-visible{border-color:var(--accent-ink);background:var(--accent-soft);color:var(--accent-ink)}
.ai-thread{display:grid;gap:var(--space-3);margin:var(--space-3) 0;max-height:min(52vh,460px);overflow:auto;overscroll-behavior:contain}
.ai-thread:empty{display:none}
.ai-msg>p{margin:0!important;font-size:15px!important;line-height:1.5}
.ai-user{justify-self:end;max-width:85%;padding:9px 13px;border-radius:14px 14px 4px 14px;background:var(--brand);color:#fff}
.ai-user>p{color:#fff!important}
.ai-bot{justify-self:stretch}
.ai-bot>p{color:var(--text-primary)!important}
.ai-bot .gift-results{margin-top:var(--space-2)}
.ai-typing>p{color:var(--text-secondary)!important;font-style:italic}
.ai-fallback-note{font-size:12px!important;color:var(--text-secondary)!important;margin-top:var(--space-2)!important}
.ai-store .gift-store-copy .primary-button,.ai-store .gift-store-copy .secondary-button{margin-top:var(--space-2);min-height:42px;width:100%;justify-content:center;display:flex;align-items:center;gap:6px}
.ai-store .gift-store-copy .primary-button svg{width:18px;height:18px}
.ai-form{display:flex;gap:var(--space-2);margin-top:var(--space-2)}
.ai-form input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--radius-button);background:var(--surface);color:var(--text-primary);font-size:16px}
.ai-form input:focus{outline:none;border-color:var(--brand)}
.ai-form .primary-button{flex:0 0 52px;min-height:48px;padding:0;display:grid;place-items:center}
.ai-form .primary-button svg{width:20px;height:20px}
.ai-footer{display:flex;gap:var(--space-4);margin-top:var(--space-2)}
.ai-footer:empty{display:none}
.ai-ask-link{margin-left:4px;font-weight:700;color:var(--accent-ink)}
.ai-footer .text-button{font-size:14px;font-weight:600;min-height:40px;color:var(--brand)}
.ai-store .gift-store-copy .secondary-button{font-size:14px;font-weight:600}
.ai-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-right:48px}
.ai-head .gift-kicker{margin-bottom:0!important}
.ai-new{min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--brand);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.ai-new:hover,.ai-new:focus-visible{border-color:var(--brand);background:var(--brand-soft)}

/* The map keeps one compact search surface; suggestions float below it. */
body.map-view .map-search-dock{padding:6px 10px 0;overflow:visible}
body.map-view .map-search-dock .intent-form{min-height:48px;padding:2px 0 2px 4px;gap:4px}
body.map-view .map-search-dock .intent-sparkle{flex:0 0 18px;font-size:20px;color:var(--accent-ink);text-align:center}
body.map-view .map-search-dock .intent-form input{min-width:0;height:40px;font-size:16px;color:var(--text-primary)}
body.map-view .map-search-dock .intent-submit{background:var(--brand);color:var(--surface)}
body.map-view .map-search-dock .map-origin-strip{margin:0 -10px;padding:0 10px;min-height:44px;gap:5px;font-size:12px}
body.map-view .map-search-dock .map-origin-strip>span{flex:0 0 auto;overflow:visible}
body.map-view .map-search-dock .map-origin-strip>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.map-view .map-search-dock #map-origin-label{font-size:12px;font-weight:500;color:var(--text-secondary)}
body.map-view .map-search-dock .map-origin-strip button{margin:0;padding:0 4px;min-height:44px;background:transparent;color:var(--brand);font-size:12px}
body.map-view .map-assistant-entry-row{display:flex;align-items:center;gap:6px;min-height:48px}
body.map-view .map-search-dock .map-assistant-entry-row .map-origin-strip{position:static;flex:1;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.assistant-entry{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:6px 9px;border:1px solid var(--brand-soft);border-radius:var(--radius-button);background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}
.assistant-entry:hover,.assistant-entry:focus-visible{border-color:var(--brand)}
body.map-view .map-search-dock .intent-status,body.map-view .map-search-dock .intent-results{display:none!important}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:min(500px,60dvh);overflow:auto;overscroll-behavior:contain;z-index:30;padding:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}
.search-suggestions[hidden],.assistant-panel[hidden]{display:none!important}
.search-suggestions h3{margin:0 0 8px;font-size:13px;color:var(--text-secondary);font-weight:650}
.search-chip-list{display:flex;flex-wrap:wrap;gap:6px}
.search-chip{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-button);background:var(--page-bg);color:var(--brand);font-size:13px;text-align:left;cursor:pointer}
.search-chip:hover,.search-chip:focus-visible{background:var(--brand-soft);border-color:var(--brand)}
.search-recent{margin-top:14px}.search-recent p{margin:0;font-size:12px;color:var(--text-secondary)}
.search-live{display:grid;margin-top:8px}
.search-place{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 2px;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;color:var(--text-primary);cursor:pointer}
.search-place>.mini-logo{width:36px;height:36px;flex:0 0 36px;object-fit:contain}
.search-place>span{flex:1;min-width:0}.search-place strong{display:block;font-size:14px}.search-place small{display:block;font-size:12px;margin-top:3px;color:var(--text-secondary)}
.search-place>svg{width:16px;flex:0 0 16px}.search-place:hover{background:var(--brand-soft)}
.search-ask{position:sticky;bottom:-14px;display:block;width:100%;padding:13px 8px;margin-top:8px;min-height:44px;border:1px solid var(--accent-soft);border-radius:var(--radius-button);background:var(--accent-soft);color:var(--accent-ink);font-size:14px;font-weight:650;text-align:left;overflow-wrap:anywhere;cursor:pointer}

/* Non-modal conversation: bottom sheet on phones, side panel on larger screens. */
body.map-view{--assistant-panel-width:380px}
.assistant-panel{position:fixed;z-index:24;top:calc(var(--map-topbar,64px) + 12px);right:16px;bottom:16px;width:var(--assistant-panel-width,380px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);color:var(--text-primary);overflow:hidden}
.ai-panel-handle{display:none}.ai-panel-head{display:flex;align-items:center;gap:8px;padding:14px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}
.ai-panel-head>div{flex:1;min-width:0}.ai-panel-head .gift-kicker{margin:0 0 3px;font-size:10px;letter-spacing:1px;color:var(--accent-ink)}
.ai-panel-head h2{font-size:17px;margin:0;line-height:1.25;color:var(--brand)}
.ai-panel-head .ai-new{font-size:11px;padding:5px 8px;min-height:36px}
.ai-panel-head .ai-close{width:32px;min-height:36px;flex:0 0 32px;padding:0;font-size:25px;color:var(--text-secondary)}
.ai-resume{display:none}.ai-panel-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px}
.ai-scroll{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scroll-padding:12px}
.ai-panel-body .ai-thread{max-height:none;overflow:visible;margin:0;gap:12px}
.ai-panel-body .gift-intro{font-size:14px;line-height:1.5;margin:0 0 10px}
.ai-panel-body .ai-examples{margin:0 0 10px}.ai-panel-body .ai-chip{font-size:13px;min-height:38px;padding:7px 10px}
.ai-panel-body .gift-results{display:grid;grid-template-columns:1fr;gap:8px}
.ai-panel-body .gift-store{padding:10px;gap:10px;border-radius:var(--radius-card)}
.ai-panel-body .gift-store-logo{width:42px;height:42px;flex:0 0 42px}.ai-panel-body .gift-store-copy{min-width:0}
.ai-panel-body .gift-store-copy h3{font-size:15px}.ai-panel-body .gift-store-copy p{font-size:12px;line-height:1.45}
.ai-panel-body .ai-form{flex-shrink:0;margin-top:10px}.ai-panel-body .ai-footer{flex-shrink:0;margin-top:2px}
.ai-panel-body>.gift-note{margin:6px 0 0;font-size:11px;line-height:1.4;color:var(--text-secondary);flex-shrink:0}
.assistant-panel.collapsed{top:auto;height:auto;max-height:none}.assistant-panel.collapsed .ai-panel-body,.assistant-panel.collapsed .ai-new{display:none}
.assistant-panel.collapsed .ai-panel-head{border:0;padding:10px 12px}.assistant-panel.collapsed .ai-resume{display:block;min-height:40px;font-size:13px;font-weight:650;color:var(--brand)}
.assistant-panel.collapsed .gift-kicker{display:none}
/* Açık sohbet tek görevdir. Kartın seçimi/hidden durumu korunur; sohbet
   kapanınca veya küçülünce aynı mağaza kartı kendiliğinden geri görünür. */
body.map-view.assistant-visible:not(.assistant-collapsed) #place-sheet{display:none!important}
@media(min-width:721px){
  /* Include the panel's 16px outer margin and leave a 16px gap beside it. */
  body.map-view.assistant-visible:not(.assistant-collapsed) #floor-switcher,
  body.map-view.assistant-visible:not(.assistant-collapsed) #floor-tabs,
  body.map-view.assistant-visible:not(.assistant-collapsed) .map-control-stack{right:calc(var(--assistant-panel-width,380px) + 32px)}
  body.map-view.assistant-visible:not(.assistant-collapsed) #map-legend-panel{right:calc(var(--assistant-panel-width,380px) + 104px)}
}
@media(max-width:720px){
  body.map-view.search-suggestions-open .map-search-dock{z-index:30}
  body.map-view .map-search-dock{padding:4px 9px 0}
  body.map-view .map-search-dock .map-origin-strip{margin:0 -9px;padding:0 9px;min-height:42px}
  body.map-view .map-search-dock .intent-form input{font-size:16px}
  body.map-view #floor-switcher{top:112px}
  body.map-view .map-control-stack{top:166px}
  body.map-view.map-navigating:not(.map-search-expanded) #floor-switcher{top:10px}
  body.map-view.map-navigating:not(.map-search-expanded) .map-control-stack{top:68px}
  body.map-view.map-navigating:not(.map-search-expanded) .search-suggestions{display:none}
  .search-suggestions{max-height:min(500px,calc(100dvh - 210px));padding:12px}
  .search-chip{font-size:12px}.search-ask{bottom:-12px}
  .assistant-panel{top:auto;left:8px;right:8px;bottom:calc(var(--map-nav,64px) + 8px);width:auto;height:60vh;height:60dvh;max-height:60dvh;border-radius:16px 16px var(--radius-card) var(--radius-card)}
  .ai-panel-handle{display:block;width:34px;height:4px;margin:7px auto 0;border-radius:4px;background:var(--line);flex:0 0 4px}
  .ai-panel-head{padding:8px 10px}.ai-panel-head h2{font-size:17px}.ai-panel-head .ai-new{font-size:11px}
  .ai-panel-body{padding:10px}.ai-panel-body .ai-msg>p{font-size:14px!important}
  .assistant-panel.collapsed{bottom:var(--assistant-bottom,calc(var(--map-nav,64px) + 8px));height:auto;max-height:70px}
  .assistant-panel.collapsed .ai-panel-handle{display:none}
  body.map-view.search-suggestions-open .map-assistant-entry-row,body.map-view.where-open .map-assistant-entry-row{display:none}
  body.map-view.assistant-visible:not(.assistant-collapsed) #map-navigation-dock{display:none!important}
  /* iOS Safari klavyesi layout viewport'u her zaman küçültmez. Görünen
     viewport'un yüksekliği ve alt payı ile yazma alanı klavyenin üstünde kalır. */
  .assistant-panel.keyboard-open{bottom:var(--assistant-keyboard-bottom,8px);height:calc(var(--assistant-visible-height) - 16px);max-height:calc(var(--assistant-visible-height) - 16px)}
  .assistant-panel.keyboard-open .ai-panel-body>.gift-note{display:none}
  body.assistant-keyboard-open .mobile-nav{display:none!important}
  body.assistant-keyboard-open .test-mode-badge{bottom:auto;top:0;left:auto;right:8px}
}

/* Inline "Neredesin?" card under the search box (replaces the full-screen start picker). */
.where-card{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:31;max-height:min(460px,60dvh);overflow:auto;overscroll-behavior:contain;padding:12px 14px 14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow);color:var(--text-primary)}
.where-card[hidden]{display:none}
.where-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.where-card h3{margin:0;font-size:16px;color:var(--brand)}
.where-close{width:36px;height:36px;border:0;border-radius:50%;background:var(--page-bg);color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer}
.where-options{display:flex;flex-wrap:wrap;gap:8px}
.where-option{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-button);background:var(--page-bg);color:var(--brand);font-size:14px;font-weight:600;cursor:pointer}
.where-option.active{background:var(--brand);border-color:var(--brand);color:var(--surface)}
.where-card #where-search{display:block;width:100%;margin-top:12px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-button);background:var(--surface);color:var(--text-primary);font-size:16px}
.where-list{display:grid;margin-top:8px}
.where-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:8px 2px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--text-primary);cursor:pointer}
.where-pick strong{font-size:14px;font-weight:600}.where-pick small{flex:0 0 auto;font-size:12px;color:var(--text-secondary)}
.where-empty{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--text-secondary)}
body.where-open .search-suggestions{display:none}
@media(max-width:720px){
  body.map-view.where-open .map-search-dock{z-index:30}
  /* Preserve the selected place and conversation; closing the picker restores their existing state. */
  body.map-view.where-open #place-sheet,
  body.map-view.where-open #assistant-panel,
  body.map-view.where-open #map-navigation-dock{display:none!important}
}

/* Assistant answers: nearest badge and places not yet on the map. */
.ai-near{display:inline-block;margin:0 0 4px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:700}
.ai-store-pending{color:var(--text-secondary)}
.ai-where-ask{margin-top:8px}
.ai-ask-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ai-panel-body .ai-ask-option{min-height:44px;white-space:normal;text-align:left;overflow-wrap:anywhere}
.ai-ask-option:disabled{opacity:.55;cursor:default}
.test-mode-badge{position:fixed;left:8px;bottom:calc(env(safe-area-inset-bottom) + 8px);z-index:60;padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--surface);font-size:11px;font-weight:700;pointer-events:none;opacity:.9}
@media(max-width:680px){.test-mode-badge{bottom:calc(env(safe-area-inset-bottom) + 72px)}}
.search-notice{margin:0 0 8px;padding:10px 12px;border-radius:var(--radius-button);background:var(--accent-soft);color:var(--accent-ink);font-size:14px;line-height:1.4}
.ai-typing .text-button{margin-top:4px;min-height:44px}.ai-retry{margin-top:8px;min-height:44px}
/* Yapay zekâ onayı */
.ai-consent{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:4px 0 10px}
.ai-consent h3{font-size:15px;margin:0 0 6px}
.ai-consent p,.ai-consent li{font-size:12.5px;line-height:1.5;color:var(--text-secondary)}
.ai-consent p strong{color:var(--text-primary)}
.ai-consent ul{margin:8px 0 12px;padding-left:18px;display:grid;gap:4px}
.ai-consent-actions{display:flex;gap:8px;flex-wrap:wrap}
.ai-consent-actions .primary-button{justify-content:center}
.ai-consent-actions button{flex:1 1 140px;min-height:44px;font-size:13px;font-weight:600}
