/* Shared geometry for ordinary search and natural-language questions. */
.app{grid-template-rows:100px auto minmax(0,1fr)!important}
.top{grid-template-rows:34px 34px;row-gap:6px;position:relative;z-index:40;overflow:visible}
.top .brand,.top .actions{grid-row:1/3}.top .brand{grid-column:1}.top .actions{grid-column:3}
.top .search{grid-column:2;grid-row:1}
.aiMapSearch{grid-column:2;grid-row:2;position:relative;min-width:0;width:100%;max-width:500px;justify-self:center;align-self:stretch}
.top .search,.top .aiComposer{display:flex;align-items:center;gap:0;height:34px!important;box-sizing:border-box;padding:1px 3px 1px 12px;margin:0;border:1px solid #d8e5df;border-radius:15px;background:#f8fbf9;box-shadow:0 2px 6px #204d3b08;transition:border-color .15s,box-shadow .15s}
.top .search:focus-within,.top .aiComposer:focus-within{border-color:#59978a;background:#fff;box-shadow:0 0 0 3px #247f780e}
.top .searchGlyph,.aiComposer label{width:20px;min-width:20px;height:20px;margin:0 10px 0 0;color:#488477;flex:0 0 20px}
.aiComposer label{display:grid;place-items:center;font:650 12px/20px system-ui,sans-serif;letter-spacing:.02em}
.top .search>#searchInput,.top .aiComposer>#aiMapQuestion{flex:1;min-width:0;width:100%;height:30px;min-height:0!important;margin:0;padding:0 8px 0 0!important;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;font:400 14px/1.5 system-ui,-apple-system,sans-serif;color:#29463f}
.top .search>#searchInput::placeholder,.aiComposer>#aiMapQuestion::placeholder{color:#85958d;opacity:1}
.top .search>#searchBtn,.top .aiComposer>#aiMapSend{flex:0 0 50px;align-self:center;width:50px;min-width:50px;height:30px;min-height:30px;margin:0;padding:0;border:0;border-radius:12px;background:#e5f0ea;color:#246f61;font:600 13px/1 system-ui,sans-serif;display:grid;place-items:center;cursor:pointer}
.top .search>#searchBtn:hover,.top .aiComposer>#aiMapSend:not(:disabled):hover{background:#d8e9df}
.top .aiComposer>#aiMapSend:disabled{color:#91a399;background:#edf3ef;cursor:default}
.aiPanel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1;max-height:min(560px,var(--ai-panel-space,65dvh));overflow:auto;overscroll-behavior:contain;border:1px solid #dbe5e1;border-radius:15px;background:white;box-shadow:0 12px 36px #19382c26;color:#29413c;scrollbar-width:thin}
.aiPanel[hidden],.aiExamples[hidden]{display:none!important}
.aiPanelHead{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px 6px 16px;background:#fff;border-bottom:1px solid #edf1ef;z-index:1}
.aiPanelHead strong{font-size:14px}.aiPanelHead button{width:40px;height:40px;border:0;border-radius:50%;background:#f3f6f4;color:#4e615b;font-size:25px;cursor:pointer}
.aiExamples{display:grid;gap:6px;padding:10px 12px}.aiExamples button{border:1px solid #e5ece8;border-radius:12px;text-align:left;background:#f8faf9;color:#36544c;padding:11px 12px;min-height:44px;font:400 13px/1.5 system-ui,sans-serif;cursor:pointer}
.aiPanel p{margin:0;padding:10px 16px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.aiPanel .aiNote{font-size:12px;color:#6d7d76;padding-top:4px}.aiResults{list-style:none;padding:0 10px 10px;margin:0}
.aiResult{display:block;width:100%;text-align:left;border:1px solid #e3ebe6;border-radius:12px;padding:12px;margin:0 0 7px;background:#fff;color:#283e38;font-family:inherit;cursor:pointer}
.aiResult:hover,.aiResult:focus-visible{background:#f3f8f5;border-color:#247f78}.aiResult strong{display:block;font-size:15px;line-height:1.45}.aiResult span{display:block;font-size:12px;line-height:1.6;color:#698076;margin-top:3px}.aiResult .aiEvidence{color:#46564e}.aiPanel button:focus-visible{outline:2px solid #247f78;outline-offset:-3px}
@media(min-width:901px) and (max-width:1199px){.app{grid-template-rows:96px auto minmax(0,1fr)!important}.top{grid-template-columns:minmax(0,1fr) minmax(300px,34vw) auto;column-gap:12px}}
@media(max-width:900px){
 .app{grid-template-rows:152px auto minmax(0,1fr)!important}
 .top{height:152px!important;grid-template-rows:54px 34px 34px!important;row-gap:6px!important}
 .top .brand{grid-column:1;grid-row:1}.top .actions{grid-column:2;grid-row:1}.top .search{grid-column:1/-1;grid-row:2}
 .aiMapSearch{grid-column:1/-1;grid-row:3;max-width:none}
 .top .search>#searchInput,.top .aiComposer>#aiMapQuestion{font-size:16px!important}
 .top .search>#searchBtn,.top .aiComposer>#aiMapSend{height:30px;min-height:30px}
 .aiPanel{max-height:min(510px,var(--ai-panel-space,60dvh))}
}
@media(min-width:600px) and (max-width:900px) and (max-height:500px){
 .app{grid-template-rows:92px auto minmax(0,1fr)!important}
 .top{height:92px!important;grid-template-columns:minmax(190px,1fr) minmax(250px,1.2fr) auto!important;grid-template-rows:34px 34px!important;gap:6px 12px!important}
 .top .brand{grid-row:1/3}.top .actions{grid-column:3;grid-row:1/3}.top .search{grid-column:2;grid-row:1}
 .aiMapSearch{grid-column:2;grid-row:2}
}
.aiResult .aiBadges{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 5px}
.aiResult .aiBadge{display:inline-flex;align-items:center;margin:0;padding:3px 7px;border-radius:7px;font-size:11px;line-height:1.5;font-weight:650;letter-spacing:0}
.aiResult .aiBenefit{background:#e8f5ee;color:#206c50;border:1px solid #cde6d9}
.aiResult .aiRecommended{background:#fff4d9;color:#896118;border:1px solid #f0e1b7}
.aiResult .aiRating{font-weight:600;color:#516b5d}
.aiResult .aiBenefitCopy{padding:6px 8px;margin-top:7px;border-radius:8px;background:#f3f9f5;color:#2b765c}
.aiResult .aiEvidence{padding-top:5px;margin-top:6px;border-top:1px solid #f0f3f1;line-height:1.6}
.aiResult .aiAlternativeNote{font-size:11px;color:#829087;margin-top:7px}
.aiResult{scroll-margin-top:60px;touch-action:pan-y}

.top .search>.searchClear,.top .aiComposer>.searchClear{flex:0 0 32px;width:32px;height:30px;min-height:30px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#7b9187;font:400 22px/1 system-ui;cursor:pointer}
.top .searchClear:hover{background:#e8f0eb;color:#285d4d}
.top .searchClear[hidden]{display:none!important}
.top #searchInput::-webkit-search-cancel-button{display:none}
.aiResult .aiHours{margin:8px 0;padding:7px 9px;border-radius:8px;background:#f4f6f5;color:#60736b;font-size:12px}
.aiHours b{font-weight:650}.aiResult .aiHours span{font-size:12px;color:inherit;margin-top:2px}
.aiResult .aiHours-open,.aiResult .aiHours-later{background:#eaf5ee;color:#266b4a}
.aiResult .aiHours-closed{background:#f9efed;color:#926357}
.aiResult .aiHours .aiHoursSource{font-size:10px;font-weight:400;opacity:.85}

.aiHoursAttributions{font-size:10px;color:#6d7d76;padding:0 8px 6px;display:flex;gap:6px}

/* Member contributions lead; Google discoveries stay visually distinct. */
.aiMemberResult{background:#edf5f0;border-color:#ccdfd3}
.aiMemberResult:hover,.aiMemberResult:focus-visible{background:#e3efe7}
.aiResult .aiMemberBadge{background:#dbeadf;color:#315e49}
.aiSourceHeading{font:650 12px/1.5 system-ui,sans-serif;color:#476456;margin:7px 3px 9px;padding:0}
#aiGoogleSection{padding-top:8px;margin-top:8px;border-top:1px solid #e5ece7}
.aiGoogleResults{list-style:none;margin:0;padding:0}
.aiPanel .aiGoogleStatus{padding:0 3px 10px;font-size:12px;color:#738178}
.aiRetry{border:1px solid #cdded3;border-radius:10px;min-height:44px;padding:8px 14px;background:#f5f9f6;color:#315e49;cursor:pointer}
.aiResult .aiRoomInfo{font-size:12px;font-weight:650;line-height:1.5;margin-top:7px;color:#52685b}
.aiResult .aiRoom-confirmed{color:#246647}
.aiResult .aiRoom-unknown{color:#85612c}
#aiRoomUnknownSection{border-top:1px solid #dde6e0;margin-top:14px;padding-top:12px}
#aiRoomUnknownSection[hidden]{display:none}
.aiRoomCandidates{list-style:none;margin:0;padding:0}
.aiPanel .aiRoomExplanation{padding:0 3px 10px;font-size:12px;line-height:1.6;color:#6d7a72}
.aiRoomCredit{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;font-size:11px;line-height:1.5;color:#65776c;padding:0 8px 9px}
.aiRoomCredit img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.aiRoomCredit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.aiPrice{display:block;font-weight:700;color:#365d57;font-size:12px}.aiRankingPending>li:not(#aiGoogleSection){display:none}.aiTravelAnswer{padding:14px;border:1px solid #dbe6e2;border-radius:14px;background:#f7faf8;line-height:1.65}.aiTravelAnswer h3{margin:0 0 8px;font-size:15px}.aiTravelAnswer p{margin:8px 0}.aiTravelAnswer a{display:block;padding:12px;margin:8px 0;background:#fff;border:1px solid #d3e1dc;border-radius:10px;color:#247b72;font-weight:700;text-decoration:none}.aiRankingPending .aiGoogleStatus{min-height:55px}

.aiTravelAnswer+ .aiTravelAnswer{margin-top:12px}.aiTravelPlace{display:block;width:100%;text-align:left;padding:12px;margin:8px 0;border:1px solid #d3e1dc;border-radius:10px;background:white;color:#247b72;font:inherit;font-weight:650;cursor:pointer}.aiTravelAnswer a:focus-visible,.aiTravelPlace:focus-visible{outline:3px solid #247b72;outline-offset:2px}
.aiActionBox{margin:-2px 0 14px;padding:8px 10px 10px;border:1px solid #dce8e2;border-radius:10px;background:#f5faf7}
.aiActionButtons{display:flex;gap:7px;flex-wrap:wrap}.aiActionButtons a,.aiActionButtons button{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:8px 12px;border:1px solid #c3dace;border-radius:9px;font:600 12px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer;background:white;color:#226f51}
.aiActionButtons a{flex:1;background:#e7f3eb}.aiActionHint{display:block;margin-top:7px;font-size:11px;line-height:1.6;color:#62786c;overflow-wrap:anywhere}.aiActionBox>a{display:block;margin-top:6px;font-size:11px;color:#527364}
.aiActionIntro{padding:10px 4px;border-bottom:1px solid #e5ece7;margin-bottom:10px}.aiActionIntro strong{font-size:13px}.aiPanel .aiActionIntro p{padding:5px 0;font-size:12px}
.aiProductAnswer p{padding:0}.aiProductAnswer small{display:block;color:#65786e;font-size:11px;line-height:1.6}.aiProductAnswer{overflow-wrap:anywhere}.aiActionButtons :focus-visible{outline:2px solid #247b72;outline-offset:2px}

/* The answer stays above the complete, directly selectable result list. */
.aiResults>.aiAnswer{display:block;padding:13px;margin:0 0 12px;border:1px solid #cdddD5;border-radius:12px;background:#f6faf8;overflow-wrap:anywhere}
.aiAnswerHeading{display:block;font-size:14px;color:#245e50;margin:0 0 6px}
.aiPanel .aiAnswer p{padding:4px 0 9px;font-size:13px;line-height:1.7;white-space:pre-line}
.aiAnswerPick{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:#224f42;font:650 14px/1.5 system-ui,sans-serif;text-align:left;min-height:44px;padding:8px 0;cursor:pointer;overflow-wrap:anywhere}
.aiAnswerPick:hover{background:#eaf3ed}.aiAnswerSource{display:block;font-size:11px;line-height:1.6;color:#6d7e74;border-top:1px solid #e1eae4;padding-top:8px}

.aiSearchContext{padding:10px 12px;border:1px solid #dbe6e2;border-radius:12px;background:#f7faf8;font-size:13px;line-height:1.65}.aiSearchContext p{margin:0 0 8px}.aiContextOptions{display:flex;flex-wrap:wrap;gap:6px}.aiContextOptions button{min-height:40px;padding:8px 12px;border:1px solid #d3e1dc;border-radius:9px;background:white;color:#247b72;font:inherit;cursor:pointer}.aiContextOptions button[aria-pressed="true"]{background:#dceee6;font-weight:700}.aiRankingPending>li.aiSearchContext:not(#aiGoogleSection){display:list-item}
