/* Shared by the published Web app and the bundled iPhone app. */
/* Give descriptive searches more room; keep GS/P compact but easy to tap. */
body .search-card .filters>.search-actions{grid-template-columns:minmax(0,1.5fr) minmax(0,1.05fr) minmax(0,1fr) 44px 44px!important;gap:4px!important;width:100%;margin:0}
body .search-card .filters>.search-actions button{min-width:0!important;width:100%!important;height:44px!important;min-height:44px!important;padding:0 1px!important;font-size:clamp(14px,3.85vw,16px)!important;line-height:1.2!important;white-space:nowrap!important}
body .search-card .filters>.search-actions .quick-place{font-size:16px!important}
@media(min-width:701px){body .search-card .filters>.search-actions{grid-template-columns:minmax(0,1.5fr) minmax(0,1.05fr) minmax(0,1fr) 52px 52px!important;gap:6px!important}body .search-card .filters>.search-actions button{font-size:18px!important}}
body #placeMemory{padding:16px;border-radius:18px}
body #placeMemory .place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
body #placeMemory .place-item{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:6px;border:1px solid var(--place-border);border-radius:12px;background:var(--place-tint);overflow:visible}
body #placeMemory .place-car{--place-tint:#eaf2f7;--place-ink:#244b63;--place-border:#d8e4ec}
body #placeMemory .place-hotel{--place-tint:#f5efe0;--place-ink:#5c4b1b;--place-border:#e9dfc6}
body #placeMemory .place-meetup{--place-tint:#eef5e7;--place-ink:#42622d;--place-border:#dfe9d5}
body #placeMemory .place-item .place-save{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 46px;width:100%;height:46px;min-height:46px;padding:4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--place-ink);font-size:14px!important;font-weight:800;line-height:1.4;text-align:center;box-shadow:none}
body #placeMemory .place-save>span:last-child{white-space:nowrap;line-height:1.4}
body #placeMemory .place-save .place-check{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1px solid var(--place-ink);border-radius:5px;background:#ffffffa8;color:var(--place-ink);font-size:12px;line-height:1}
body #placeMemory .place-save.is-saved .place-check{border-color:#3f7954;background:#3f7954;color:#fff}
body #placeMemory .place-save:focus-visible,body #placeMemory .saved-place-buttons button:focus-visible{outline:2px solid var(--place-ink);outline-offset:1px}
body #placeMemory .place-save:hover{background:#ffffff80}
body #placeMemory .saved-place-status,body #placeMemory .favorite-name label,body #placeMemory #homeStatus{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0);white-space:nowrap;border:0;font-size:14px}
body #placeMemory .place-item .saved-place-buttons,body #placeMemory .place-item .favorite-name{display:flex;flex-direction:row;align-items:stretch;width:100%;height:44px;min-height:44px;gap:0;margin:0}
body #placeMemory .place-item .saved-place-buttons button,body #placeMemory .favorite-name input{flex:1 1 0;width:100%;min-width:0;height:44px;min-height:44px;margin:0;padding:6px;border:1px solid var(--place-border);border-radius:8px;background:#ffffffd9;color:var(--place-ink);font-size:14px;font-weight:700;line-height:1.4;text-align:center;box-shadow:none}
body #placeMemory .favorite-name input{font-size:16px!important;font-weight:500;text-align:left}
body #placeMemory .favorite-name input::placeholder{color:#756980;opacity:1}
body #placeMemory .saved-place-buttons button:disabled{opacity:.55;cursor:default;background:#ffffff60}
body #placeMemory .place-item .place-save.is-loading{position:relative;padding-bottom:16px!important}
body #placeMemory .place-item .place-save.is-loading::after{position:absolute;left:0;right:0;bottom:1px;margin:0!important;font-size:10px;line-height:1.2;white-space:nowrap;text-align:center}
body .search-card .native-favorite-results{min-width:0;margin-top:8px;padding:3px 10px;border:1px solid #e5dcee;border-radius:10px;background:#faf8fc}
body .native-favorite-results>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;color:#59406f;font-size:15px;font-weight:800;cursor:pointer;list-style:none}
body .native-favorite-results summary::-webkit-details-marker{display:none}
body .native-favorite-results>summary::after{content:'＋';flex:0 0 auto;font-size:18px}
body .native-favorite-results[open]>summary::after{content:'−'}
body .native-favorite-results[open]>summary{margin-bottom:0}
body .native-favorite-results .favorite-list{display:grid;max-height:none;min-height:0;overflow:visible;gap:4px;margin:0 0 4px}
body .native-favorite-results .favorite-place{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:2px 6px}
body .native-favorite-results .favorite-place-copy{width:100%;min-width:0;overflow-wrap:anywhere}
body .native-favorite-results .favorite-place-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
body .native-favorite-results .favorite-place-copy small{display:none}
body .native-favorite-results .favorite-place-actions{display:flex;width:auto;gap:4px;min-width:0}
body .native-favorite-results .favorite-place-actions button{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:0;font-size:12px;line-height:1.4;white-space:nowrap}
body .native-favorite-results .favorite-place-actions .remove-place{flex:0 0 44px!important}
body .native-favorite-results .favorite-empty{display:none}
body #placeMemory .legacy-home{margin-top:8px;padding-top:10px}
/* One shared keyword input for searching and saving; the fold below is list-only. */
body .search-card #searchForm .filters{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
body .search-card #searchForm .search-fields{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:2px!important;align-items:start}
body #searchForm .shop-name-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body #searchForm .shop-search-row{display:grid;grid-column:1/-1;grid-row:1;grid-template-columns:minmax(0,1fr) repeat(3,64px);gap:6px;align-items:stretch;min-width:0}
body .search-card #searchForm input{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;max-height:none!important;padding:8px 10px!important;border:1px solid #e5dcee;border-radius:9px;background:#fff;font-size:16px!important;line-height:1.4}
body #searchForm .shop-search-row>button,body .search-card #searchForm .history-trigger{width:100%!important;min-width:0;height:44px!important;min-height:44px!important;padding:6px 2px!important;border:1px solid #dfd2e9!important;border-radius:9px!important;background:#f2ecf8!important;color:#59406f!important;font-size:13px!important;font-weight:800;white-space:nowrap}
body #searchForm #searchFavoriteShop{background:#59406f!important;border-color:#59406f!important;color:#fff!important}
body .search-card #searchForm .history-box{position:relative;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;margin:0}
body .search-card #searchForm .search-history{left:auto!important;right:0!important;width:min(280px,calc(100vw - 52px))!important;min-width:0!important;max-width:calc(100vw - 52px)!important;z-index:20}
body .search-card #searchForm .search-history button{white-space:normal;overflow-wrap:anywhere}
@media(max-width:520px){body #searchForm .shop-search-row{grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:4px}}
body #searchForm #favoriteShopStatus{grid-column:1/-1}
body #favoriteShopStatus:empty{display:none}
body #favoriteShopStatus{font-size:13px;color:#963f37;line-height:1.5;overflow-wrap:anywhere}
/* Browser-only genre treatment A: keep the clean white tiles and add a quiet color cue. */
body .genre-top .genre{background:#fff;border-color:#e6e8df;box-shadow:0 2px 5px #2d41200a}
body .genre-top .genre:nth-child(4n+1){border-bottom:3px solid #dc806b}
body .genre-top .genre:nth-child(4n+2){border-bottom:3px solid #d7aa54}
body .genre-top .genre:nth-child(4n+3){border-bottom:3px solid #76a58a}
body .genre-top .genre:nth-child(4n){border-bottom:3px solid #8298ba}
body .genre-top .genre:hover,body .genre-top .genre.selected{border-color:#6b9b80;background:#eef4ed;color:#24523a;transform:none}
@media(max-width:700px){body #placeMemory .place-item .place-save{padding-inline:2px;gap:2px;font-size:clamp(11px,3vw,13px)!important}body #placeMemory .place-save .place-check{flex-basis:13px;width:13px;height:13px;font-size:10px}body #placeMemory .place-item .saved-place-buttons button{padding:6px 2px;font-size:12.5px;white-space:nowrap}}
@media(max-width:350px){body #placeMemory{padding:12px}body #placeMemory .place-grid{gap:6px}body #placeMemory .place-item{padding:4px}}
