.restaurant-search{border:1px solid #e2dfd4;border-radius:16px;background:#fffdf8;margin:14px 0;overflow:hidden}
.restaurant-search>summary{display:flex;align-items:center;gap:8px;min-height:54px;padding:13px;cursor:pointer;color:#79483b;font:750 13px system-ui;list-style:none}
.restaurant-search summary::-webkit-details-marker{display:none}.restaurant-search>summary>.icon{width:19px;height:19px;flex:none}.restaurant-search>summary>.icon:last-child{margin-left:auto;width:14px;transition:transform .2s}.restaurant-search[open]>summary>.icon:last-child{transform:rotate(180deg)}
.restaurant-body{padding:0 13px 13px;animation:restaurant-enter .18s ease-out}.restaurant-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(88px,1fr);gap:9px}.restaurant-controls label{display:grid;gap:6px;min-width:0;color:#694b3e;font:650 11px/1.5 system-ui}.restaurant-controls select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:9px;border:1px solid #e2dfd4;border-radius:10px;background:#fff;color:#25483c;font:16px system-ui;text-overflow:ellipsis}
.restaurant-search button,.restaurant-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;max-width:100%;box-sizing:border-box;padding:9px;border:1px solid #e2dfd4;border-radius:10px;background:#fff;color:#79483b;font:650 11px/1.5 system-ui;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.restaurant-search button>.icon,.restaurant-actions a>.icon{width:16px;height:16px;flex:none}.restaurant-search button:active,.restaurant-actions a:active{transform:scale(.98)}.restaurant-search button:hover,.restaurant-actions a:hover{background:#fff0e9}.restaurant-search button:disabled{opacity:.5;cursor:default;transform:none}.restaurant-find,.restaurant-choose{width:100%;margin-top:10px}.restaurant-search .restaurant-find{background:#f3e9db}.restaurant-search .restaurant-choose{background:#edf4e6;color:#365f45;border-color:#d4dfcb}.restaurant-search :focus-visible{outline:3px solid #b6cdaa;outline-offset:2px}
.restaurant-cards{display:grid;gap:12px}.restaurant-card{border:1px solid #e2dfd4;border-radius:13px;padding:11px;background:#fff;min-width:0;animation:restaurant-enter .18s ease-out}.restaurant-card--selected{border-color:#b87862;background:#fff9f3}.restaurant-heading{display:flex;gap:9px;align-items:flex-start}.restaurant-heading>.icon{width:23px;height:23px;color:#9a4b43;flex:none}.restaurant-heading>div{min-width:0}.restaurant-heading h4{margin:0 0 5px;font:700 13px/1.5 system-ui;color:#294a3d;overflow-wrap:anywhere}.restaurant-heading span{font:11px/1.5 system-ui;color:#73745f}.restaurant-address,.restaurant-basis,.restaurant-tag{display:flex;align-items:flex-start;gap:5px;color:#73745f;font:11px/1.5 system-ui;overflow-wrap:anywhere}.restaurant-address{margin:10px 0 7px}.restaurant-basis,.restaurant-tag{margin:7px 0}.restaurant-address>.icon,.restaurant-basis>.icon,.restaurant-tag>.icon{width:15px;height:15px;flex:none;margin-top:1px}.restaurant-tag{padding:6px 8px;border-radius:8px;background:#f7f3e9}.restaurant-note{margin:8px 0;color:#73745f;font:11px/1.5 system-ui;overflow-wrap:anywhere}
.restaurant-hours{margin:8px 0;border:1px solid #e8e5dd;border-radius:9px;overflow:hidden}.restaurant-hours>summary{display:flex;gap:6px;align-items:center;min-height:44px;padding:8px;box-sizing:border-box;color:#694b3e;cursor:pointer;font:650 11px/1.5 system-ui}.restaurant-hours>summary>.icon{width:15px;height:15px;flex:none}.restaurant-hours p{padding:0 8px 8px;margin:0;font:11px/1.5 system-ui;color:#73745f;overflow-wrap:anywhere}.restaurant-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.restaurant-source{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:6px 0;color:#6c6f5b;font:11px/1.5 system-ui;text-underline-offset:3px;box-sizing:border-box;overflow-wrap:anywhere}.restaurant-loading{display:flex;align-items:center;gap:8px;margin:10px 0;color:#694b3e;font:11px/1.5 system-ui}.restaurant-loading img{width:44px;height:44px;flex:none;object-fit:contain}.restaurant-loading span{flex:1;min-width:0}.restaurant-loading button{flex:none}
@keyframes restaurant-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:360px){.restaurant-controls{grid-template-columns:1fr}.restaurant-actions{display:grid;grid-template-columns:1fr 1fr}.restaurant-actions>*{width:100%}.restaurant-loading{flex-wrap:wrap}.restaurant-loading button{width:100%}}
@media(prefers-reduced-motion:reduce){.restaurant-search *{animation:none!important;transition:none!important}}[data-motion-paused="true"] .restaurant-search *{animation:none!important;transition:none!important}
/* Open venue choices get room to read on a phone; closing/collapsing restores the map search. */
@media(max-width:800px) and (min-height:421px){
 body[data-view="planner"][data-route-ready="true"]:has(:is(#restaurant-search [data-restaurant-panel],#meal-road-search [data-meal-road-panel],#motorway-discovery [data-motorway-panel])[open]):has(#trip-sheet:not(.sheet-collapsed)) .journey-panel{display:none}
 body[data-view="planner"][data-route-ready="true"]:has(:is(#restaurant-search [data-restaurant-panel],#meal-road-search [data-meal-road-panel],#motorway-discovery [data-motorway-panel])[open]) #trip-sheet:not(.sheet-collapsed){max-height:72dvh!important}
 body[data-view="planner"][data-route-ready="true"]:has(:is(#restaurant-search [data-restaurant-panel],#meal-road-search [data-meal-road-panel],#motorway-discovery [data-motorway-panel])[open]):has(#trip-sheet:not(.sheet-collapsed)) :is(.route-map__controls,.map-locate){top:16px;bottom:auto}
 body[data-view="planner"][data-route-ready="true"]:has(:is(#restaurant-search [data-restaurant-panel],#meal-road-search [data-meal-road-panel],#motorway-discovery [data-motorway-panel])[open]):has(#trip-sheet:not(.sheet-collapsed)) .map-locate{right:74px}
 body[data-view="planner"][data-route-ready="true"]:has(:is(#restaurant-search [data-restaurant-panel],#meal-road-search [data-meal-road-panel],#motorway-discovery [data-motorway-panel])[open]):has(#trip-sheet:not(.sheet-collapsed)) .route-map__attribution{top:5px;bottom:auto;left:12px;right:130px}
}
[data-meal-road-areas] button[aria-pressed="true"]{background:#edf4e6;color:#365f45;border-color:#86a07c;box-shadow:inset 0 0 0 1px #86a07c}
