/* Retained restaurant cards use Bootstrap's original column proportions. */
.search-page { padding-inline:15px;max-width:100%; }
.results { max-width:none; }
.restaurant { border-radius:4px;overflow:hidden;scroll-margin-top:75px;margin-bottom:20px; }
.restaurant.favourite { border-color:#d2335c; }
.restaurant-heading { display:flex;gap:0;padding:0;background:#fff;border-bottom:1px solid #cad3df; }
.restaurant-heading>.restaurant-picture { padding:0;position:relative;flex:0 0 33.333333%;height:159px;background:#cad3df;overflow:hidden; }
.restaurant-heading .restaurant-image-button { display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:none; }
.restaurant-heading .restaurant-picture img { width:100%;height:100%;object-fit:cover; }
.restaurant-heading>.restaurant-details { position:relative;min-width:0;flex:1;padding:20px 15px 0;min-height:159px; }
.restaurant-heading h2 { font-size:19.008px;font-weight:400;line-height:28.512px;margin:0; }
.restaurant-heading h2 a { color:#11273c; }
.restaurant-heading .restaurant-address { font-size:14.4px;font-weight:500;line-height:normal;margin:0;padding-top:4px; }
.restaurant-heading .rating { color:#ff9800;font-size:12.8px;line-height:normal;padding-top:10px;margin:0; }
.restaurant-stars { font-family:Gastroicons;font-style:normal;font-weight:normal;color:#ff9800; }
.restaurant-heading .restaurant-stars { letter-spacing:.25em; }
.restaurant-heading .restaurant-opening { margin:6px 0 0;line-height:0; }
.restaurant-heading .opening-badge { display:inline-block;font-size:11.2px;padding:3.5px 11.2px;color:white;background:#adb9c2; }
.restaurant-heading .menu-button { float:right;margin:0 5px 5px 12px;padding:10px 24px;font-size:12.8px;line-height:18.2857px; }
.restaurant-picture .restaurant-favourite { position:absolute;top:15px;left:15px;padding:2px 6px;width:34px;height:34px;border-radius:50%;background:#fff;color:#d2335c;font:21px/30px Gastroicons; }
.restaurant-content { border-top:0;padding:20px;font-size:14px;line-height:22px; }
.restaurant-preview { position:relative; }
.restaurant-collapsed .restaurant-preview { max-height:80px;overflow:hidden; }
.restaurant-collapsed .restaurant-preview:after { content:'';position:absolute;bottom:0;inset-inline:0;height:35px;background:linear-gradient(transparent,#fff);pointer-events:none; }
.restaurant-content .menu { margin:0; }
.restaurant-content .menu>div { border:0;padding:0;gap:15px; }
.restaurant-content .menu dt { min-width:0;flex:1;font-weight:400; }
.restaurant-content .menu dd { flex:0 0 16.666667%;white-space:normal;text-align:right; }
.restaurant-content .menu .lunch-setting { display:block;font-style:italic;min-height:22px;white-space:pre-line; }
.restaurant-content .lunch-setting-space { padding-top:22px; }
.restaurant-content .lunch-note { margin:0; }
.restaurant-content .lunch-note-italic { font-style:italic; }
.restaurant-read-more { display:block;width:100%;border:0;border-top:1px dashed #cad3df;border-radius:0;padding:15px;background:#fff;color:#8493a8;font-size:14px;line-height:20px; }
.restaurant-read-more:hover { background:#f7f8fa; }
@media(min-width:768px) { .results{margin-left:-15px;width:calc(100% + 15px)} }
@media(min-width:992px) { .results{width:calc(75% + 7.5px)} }
@media(min-width:768px) and (max-width:991px) { .restaurant-heading>.restaurant-picture{flex-basis:25%} }
@media(max-width:767px) {
 .restaurant-heading{display:block;padding-bottom:5px}.restaurant-heading>.restaurant-picture{height:161px}.restaurant-heading>.restaurant-details{min-height:0;padding-bottom:10px}.restaurant-heading h2{font-size:15.444px;line-height:23.166px}.restaurant-heading .restaurant-address{font-size:11.7px}.restaurant-heading .rating{font-size:10.4px}.restaurant-heading .opening-badge{font-size:9.1px;padding:2.8px 9.1px}.restaurant-heading .menu-button{font-size:10.4px;line-height:14.8571px;padding:10px 24px}.restaurant-content .menu dd{flex-basis:25%}
}
#restaurant-image-dialog { width:max-content;max-width:95vw;padding:0;border:4px solid #fff;background:#fff; }
#restaurant-image-dialog img { display:block;max-width:90vw;max-height:80vh;object-fit:contain; }
#restaurant-image-dialog form { position:absolute;right:6px;top:6px; }
#open-all-menus-dialog,#favourite-result-dialog { width:478px;max-width:calc(100% - 30px);padding:30px;text-align:center;background:white;border:0; }
#open-all-menus-dialog h2,#favourite-result-dialog h2 { font-size:24px;text-transform:none; }
#open-all-menus-dialog form { display:flex;justify-content:center;gap:15px; }
#open-all-menus-dialog button,#favourite-result-dialog button { background:#5cb85c;border-color:#4cae4c;padding:10px 24px; }
#open-all-menus-dialog button[value=no] { background:#aaa;border-color:#aaa; }
#favourite-dialog { display:grid;grid-template-columns:1fr 1fr; }
#favourite-dialog:not([open]) { display:none; }
#favourite-dialog>.account-dialog-close { position:absolute;right:10px;top:5px; }
.favourite-restaurant { background:#43bd84 url('/img/bg_favorite.jpg');color:white;min-height:400px;padding:30px; }
.favourite-restaurant h3 { color:white;font-size:24px;line-height:1.2;margin:8px 0 10px; }
.favourite-restaurant p { font-size:16px; }
.favourite-login { padding:30px 20px; }
.favourite-login p { color:#8493a8;font-size:14px; }
.favourite-login button { width:100%;background:#5cb85c;border-color:#4cae4c; }
.favourite-login button[data-account-close] { background:white;color:#3d4d65;border-color:#cad3df; }
.favourite-login hr { border:0;border-top:1px solid #eee;margin:15px 0; }
.favourite-success { display:block;color:#a5dc86;font-size:60px; }
@media(max-width:767px) { #favourite-dialog{grid-template-columns:1fr}.favourite-restaurant{min-height:100px;max-height:150px} }

.restaurant-picture .restaurant-favourite.favourite-retry { font-family:Arial,sans-serif; }
@media(min-width:992px) { .search-page>.advertisements { width:calc(25% - 7.5px);margin-left:15px; } }
.restaurant-heading .opening-badge { border:0;line-height:normal;text-transform:none;cursor:pointer;font-weight:500; }
.restaurant-heading .opening-badge.open { background:#9dbf16; }
.restaurant-heading .opening-badge.soon { background:#ffda2e; }
.restaurant-heading .opening-badge.closed { background:#ca3058; }
.opening-clock { font-family:Gastroicons;font-size:1.1em;position:relative;top:1px; }
.opening-hours-popup { position:fixed;inset:auto;margin:0;width:342px;max-width:calc(100vw - 30px);max-height:calc(100vh - 30px);overflow:auto;padding:9px 14px;border:0;border-radius:6px;background:#fff;color:#3d4d65;box-shadow:0 5px 10px #0003;font:12px/normal Roboto,Arial,sans-serif; }
.opening-hours-popup h3 { font:14px/18px Roboto,Arial,sans-serif;text-transform:none;border-bottom:1px solid #ebebeb;margin:-9px -14px 9px;padding:8px 14px;background:#f7f7f7; }
.opening-hours-popup h4 { font:700 12px/normal Roboto,Arial,sans-serif;text-transform:none;margin:5px 0 0; }
.opening-row { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.opening-hours-popup p { margin:0; }

#restaurant-image-dialog::backdrop { background:rgba(0,0,0,.9); }

.filter-form .favourites-filter { flex-direction:row;align-items:center;font-size:14px; }
.favourites-filter input { width:auto; }

.search-pagination { text-align:center; }
.search-pagination .pagination { display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0;list-style:none;padding:0;margin:20px 0;font:14px/20px Roboto,Arial,sans-serif; }
.search-pagination a,.search-pagination span { display:block;padding:6px 12px;margin-left:-1px;border:1px solid #ddd;background:#fff;color:#54657e; }
.search-pagination a:hover { background:#eceff4;text-decoration:none; }
.search-pagination li:first-child>* { border-radius:4px 0 0 4px; }
.search-pagination li:last-child>* { border-radius:0 4px 4px 0; }
.search-pagination .active span { background:#8392a9;border-color:#8392a9;color:white; }
.search-pagination .disabled span { color:#777; }

/* Search navigation and the shared, progressively enhanced filter panel. */
.search-page { padding-top:0; }
.search-navbar { gap:15px; }
.search-navbar>.search-app-icon { flex:0 0 40px; }
.search-app-icon img { display:block;width:40px;height:40px; }
.search-navbar .search-form { flex:1;min-width:0;margin:0;max-width:none; }
.search-navbar .search-form input { width:100%;height:40px;padding:8px 15px 8px 40px;border:0;border-radius:4px;background:#fff;font:16px/24px Roboto,Arial,sans-serif; }
.search-navbar .search-form button { position:absolute;left:0;top:0;background:none;border:0;color:#8493a8;padding:8px 12px;font:23px/24px Gastroicons; }
.search-navbar .nav-account { flex:0 0 auto; }
.search-filters { border:1px solid #cad3df;border-radius:0 0 4px 4px;background:white;margin:0 0 30px; }
.search-filters [hidden] { display:none!important; }
.filter-body { padding:0 25px; }
.filter-row { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;min-height:64px;border-bottom:1px solid #cad3df; }
.filter-row>label,.filter-label { grid-column:span 2;font:500 16px/22px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase; }
.search-filters select { min-width:0;width:100%;height:34px;border:1px solid #ccc;border-radius:4px;background:#fff;color:#3d4d65;padding:6px 12px;font:14px/20px Roboto,Arial,sans-serif; }
.filter-primary #engine,.filter-location #city { grid-column:span 3;width:calc(100% - 15px); }
.filter-primary label.weekday-control { grid-column:9; }
.filter-primary select.weekday-control { grid-column:10/span 3;margin-left:15px;width:calc(100% - 15px); }
.filter-location>.token-filter { grid-column:span 7;margin-left:15px; }
.filter-row>.token-filter { grid-column:span 10; }
.filter-row.filter-location>.token-filter { grid-column:span 7; }
.filter-summary { display:grid;grid-template-columns:2fr 7fr 3fr;gap:15px;align-items:center;min-height:64px; }
.search-filters button { font:14px/20px Roboto,Arial,sans-serif;padding:10px 20px; }
.search-filters .filter-outline { border-color:#ff9800;color:#ff9800;background:white; }
.search-filters .filter-outline:hover { background:#ff9800;color:white; }
.filter-summary>[data-result-count],.filter-summary>[data-apply-filters] { grid-column:3;grid-row:1;text-align:right; }
.filter-summary>[data-result-count] { font-size:14px; }
.filter-summary>.active-filter-chips { grid-column:2;grid-row:1; }
.is-enhanced:not(.has-filter-changes) .filter-summary>[data-apply-filters],.has-filter-changes .filter-summary>[data-result-count] { display:none; }
.filter-advanced-actions { display:flex;justify-content:space-between;gap:15px;padding:15px 0; }
.filter-footer { display:flex;align-items:center;gap:20px;background:#eceff4;padding:10px 15px;min-height:60px; }
.filter-footer>select { width:25%; }
.filter-footer .favourites-filter { display:flex;align-items:center;gap:6px;font:500 14px/20px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase; }
.favourites-filter>span { color:#d2335c;font-size:23px; }
.filter-footer input[type=checkbox] { width:auto; }
.filter-mobile-toolbar,.filter-mobile-actions { display:none; }
.token-filter { position:relative;min-width:0; }
.token-filter select[multiple] { height:auto; }
.token-enhanced { display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:3px;border:1px solid #cad3df;border-radius:5px;min-height:34px;background:#fff; }
.token-chips,.active-filter-chips { display:flex;flex-wrap:wrap;align-items:center;gap:5px; }
.search-filters .token-chip { border:0;border-radius:15px;background:#eceff4;color:#374355;font:14px/20px Roboto,Arial,sans-serif;text-transform:none;padding:2px 10px; }
.token-enhanced>input { flex:1;width:0;min-width:80px;height:26px;background:none;border:0;outline:0;color:#3d4d65;font:14px/20px Roboto,Arial,sans-serif;padding:3px 5px; }
.token-enhanced:focus-within { outline:2px solid #79ace7;outline-offset:1px; }
.token-options { position:absolute;top:100%;left:-1px;right:-1px;z-index:100;max-height:312px;overflow:auto;list-style:none;margin:3px 0 0;padding:0;background:white;border:1px solid #cad3df;border-radius:3px;box-shadow:0 6px 12px #0003; }
.token-options>li { padding:6px 12px;cursor:pointer;font:14px/20px Roboto,Arial,sans-serif; }
.token-options>li:hover,.token-options>li.active { background:#eceff4; }
.rating-options { grid-column:span 10;display:flex;justify-content:space-between;gap:10px; }
.search-filters .rating-options button { border:0;padding:6px 0;background:none;color:#ff9800;font:22px/30px Arial,sans-serif; }
.search-filters .rating-options [aria-pressed=true] { color:#e48600; }
.filter-status { margin:0;padding:12px 25px;font-size:14px; }
@media(min-width:768px) { .search-filters{margin-left:-15px;width:calc(100% + 15px)} }
@media(min-width:992px) { .search-filters{width:calc(75% + 7.5px)} }
@media(max-width:767px) {
 .search-navbar{gap:10px;max-width:calc(100% - 30px)}.search-navbar>.search-app-icon{flex-basis:32px}.search-app-icon img{width:32px;height:32px}.search-navbar .search-form input{font-size:14px;padding-left:32px}.search-navbar .search-form button{font-size:20px;padding-inline:8px}
 .search-filters{border:0;background:none;margin:0 0 30px}.filter-mobile-toolbar{display:block}.filter-mobile-toolbar button{width:100%;height:50px;border-radius:0;border:0;border-bottom:1px solid #8493a8;background:#cad3df;color:#3d4d65}.filter-body,.filter-footer{display:none}.filters-open .filter-body{display:block;padding:0 15px;background:white}.filters-open .filter-footer{display:flex;flex-direction:column;align-items:stretch;background:white}.filters-open .filter-mobile-toolbar{display:none}.filter-row{display:grid;grid-template-columns:1fr;gap:10px;padding:15px 0}.filter-row>*{grid-column:1!important;margin-left:0!important;width:100%!important}.filter-row>label,.filter-label{line-height:20px}.filter-summary{display:none}.filter-footer>select{width:100%}.filter-mobile-actions{display:grid;gap:10px}.filter-advanced-actions{display:none}.rating-options{justify-content:space-between}.search-filters .rating-options button{font-size:18px}.filter-footer .favourites-filter{font-size:14px}.filter-status{padding:10px 15px}
}
.search-navbar { min-height:62px; }
.search-navbar .search-form button { text-transform:none; }
.search-navbar .search-save-icon { display:none; }
.search-filters .filter-summary>[data-filter-more] { white-space:nowrap;padding-inline:16px; }
.filter-footer { min-height:62px;background:#d9e0e9; }
.filter-footer .map-desktop-toggle { margin-left:auto;white-space:nowrap; }
.search-filters .map-desktop-toggle { border-color:#8493a8;color:#8493a8;background:transparent; }
.search-filters .map-desktop-toggle:hover { background:#8493a8;color:white; }
.search-map { height:400px;width:100%; }
.search-map[hidden] { display:none; }
.map-infowindow { min-width:180px;color:#3d4d65; }
.map-infowindow h4 { margin:0 0 10px;font:500 18px/1.1 'Roboto Condensed',Arial,sans-serif; }
.map-rating { font:18px Gastroicons;color:#f8981d; }
.map-homepage-link { float:right;font-size:14px; }
@media(max-width:767px) {
 .filter-mobile-toolbar { display:flex;height:32px; }
 .search-map { margin-top:18px; }
 .filter-mobile-toolbar button { width:50%; }
 .filter-mobile-toolbar button+button { border-left:1px solid #8493a8; }
 .filter-footer .map-desktop-toggle { display:none; }
}
.search-preamble { max-width:none;margin:15px 0 30px;padding-top:30px;font:16px Roboto,Arial,sans-serif; }
.search-preamble h1 { margin:0 0 5px;font-size:32px;line-height:36px;color:#54657e; }
.search-preamble .editor-content p { margin-bottom:10px; }
.search-preamble .editor-content h2 { margin:20px 0 10px;font-size:32px;line-height:38px;font-weight:500; }
.search-preamble .editor-content h3 { margin:20px 0 10px;font-size:24px;line-height:1.625;font-weight:500; }
.search-preamble .editor-content h4 { margin:10px 0;font-size:19.008px;line-height:1.5;font-weight:500; }
.search-preamble p { margin:0 0 10px;font-size:14px;line-height:22px;font-weight:500; }
.result-heading { margin:20px 0 10px;padding-bottom:10px;font-size:32px;line-height:36px; }
.search-preamble h1,.result-heading { font-weight:500; }
@media(min-width:768px) { .search-preamble,.result-heading{margin-left:-15px;width:calc(100% + 15px)} }
@media(min-width:992px) {
 .search-preamble,.result-heading{width:calc(75% + 7.5px)}
 .search-navbar{display:grid;grid-template-columns:70px calc(75% - 85px) 1fr;gap:0;min-height:62px}.search-navbar>.search-app-icon{display:flex;align-items:center;justify-content:center;height:62px;background:white}.search-app-icon img{width:32px;height:42px;object-fit:contain}.search-navbar .search-form{height:62px;background:white;padding-right:65px}.search-navbar .search-form input{height:62px;border-radius:0}.search-navbar .search-form button{padding-top:19px}.search-navbar .search-save-icon{display:block;position:absolute;right:20px;top:17px;color:#cad3df;font-size:25px}.search-navbar .nav-account{justify-self:end}
}
@media(max-width:767px) { .search-preamble{margin-top:60px}.search-preamble h1,.result-heading{font-size:26px;line-height:32px} }
.search-main { min-width:0; }
.search-main .results,.search-main .search-filters,.search-main .search-preamble,.search-main .result-heading { margin-left:0;width:auto; }
.search-main>.advertisements,.search-sidebar .advertisements { float:none;width:100%;margin:0 0 20px;display:grid;grid-template-columns:1fr; }
@media(min-width:768px) {
 .search-columns { margin-inline:-15px; }
 .search-main { padding-right:15px; }
 .search-sidebar { padding-left:15px; }
}
@media(min-width:992px) { .search-columns { display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start; } }
@media(max-width:991px) { .sidebar-banners { display:none; } }
@media(max-width:991px) { .search-main>.advertisements:not(:has(source)) { display:none; } }
