.restaurant-explorer{box-sizing:border-box;max-width:1100px;width:100%;margin:40px auto;padding:24px;border:1px solid #806875;border-radius:24px;background:#2a2626;color:#f6eff2;text-align:left;font:16px/1.6 Quicksand,sans-serif;clear:both}
.restaurant-explorer *{box-sizing:border-box}.restaurant-explorer h2{font:36px/1.2 Megrim,sans-serif;color:#ddc5d0;margin:0 0 16px}.restaurant-explorer p{font:inherit;margin:12px 0}.restaurant-explorer button,.restaurant-explorer select{font:inherit;color:#fff;background:#493e44;border:1px solid #a38b97;border-radius:12px;padding:10px 14px;cursor:pointer;max-width:100%}.restaurant-explorer button:focus-visible,.restaurant-explorer a:focus-visible,.restaurant-explorer select:focus-visible{outline:3px solid #8adaff;outline-offset:4px}.restaurant-explorer button:disabled{opacity:.6;cursor:wait}
.restaurant-cuisines{display:flex;gap:12px;overflow-x:auto;padding:8px 4px 16px}.restaurant-cuisines .restaurant-cuisine{display:flex;align-items:center;gap:16px;flex:0 0 auto;text-align:left}.restaurant-cuisine small{display:block;font-size:14px;color:#ebdce4}.restaurant-cuisine[aria-pressed=true]{background:#684659;border:2px solid #ffdcef}.restaurant-badge{display:flex;align-items:center;gap:8px;white-space:nowrap}.restaurant-badge img{width:48px;height:48px;object-fit:contain;border-radius:50%}.restaurant-badge span{font-size:16px}.restaurant-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.restaurant-controls label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.restaurant-controls select{max-width:310px}.restaurant-controls input{width:20px;height:20px;accent-color:#bf8eaa}.restaurant-choice{font-weight:700!important;color:#f5cee3}.restaurant-choice.is-override{color:#8adaff}.restaurant-map{height:420px;border-radius:16px;overflow:hidden;margin-top:16px;color:#222}.restaurant-map-notice{color:#efd5a3}.restaurant-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.restaurant-card{padding:20px;border:1px solid #806875;background:#352d31;border-radius:16px;overflow-wrap:anywhere}.restaurant-card h3{font-size:20px;line-height:1.4;margin:0}.restaurant-card a{display:inline-block;margin:8px 16px 0 0;color:#a8ddff;text-decoration:underline}.restaurant-card button{margin-right:16px}.restaurant-card.is-selected{outline:3px solid #8adaff;background:#493e44}.restaurant-card-context{color:#e8bed5}.restaurant-pin{display:block;padding:8px 12px;border-radius:30px;background:#493e44;border:2px solid #ffdcef;color:#fff;font:700 18px Quicksand,sans-serif;box-shadow:0 3px 9px #0008}.restaurant-pin.is-selected{background:#174a64;border-color:#8adaff}.restaurant-footnote{font-size:14px!important;color:#d8c9d1}.restaurant-explorer .google-attribution{font-family:Arial,sans-serif;font-size:16px;color:#fff}
@media(max-width:650px){.restaurant-explorer{padding:16px;margin:24px auto}.restaurant-cards{grid-template-columns:1fr}.restaurant-map{height:340px}.restaurant-controls{align-items:flex-start;flex-direction:column}.restaurant-controls select{width:100%;max-width:100%}.restaurant-controls label{width:100%}.restaurant-explorer h2{font-size:30px}}

.restaurant-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.restaurant-card-heading h3{flex:1;min-width:0}
.restaurant-card-heading .restaurant-badge{flex:0 1 45%;white-space:normal;line-height:1.3;overflow-wrap:normal}
.restaurant-card-heading .restaurant-badge img{flex-shrink:0}
@media(max-width:650px){.restaurant-card-heading .restaurant-badge{gap:5px}.restaurant-card-heading .restaurant-badge img{width:36px;height:36px}.restaurant-card-heading .restaurant-badge span{font-size:13px}}
.restaurant-cuisine .restaurant-badge{white-space:normal;line-height:1.3;min-width:0}.restaurant-cuisine .restaurant-badge img{flex-shrink:0}.restaurant-cuisine .restaurant-badge span{min-width:0;overflow-wrap:normal}

.restaurant-card-context{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px}.restaurant-card-context .restaurant-cuisine-flag{font-size:1.5em;line-height:1}

.restaurant-badge .restaurant-meal-label{display:inline-flex;align-items:center;gap:5px}.restaurant-badge .restaurant-meal-label > span{font-size:inherit}.restaurant-badge .restaurant-meal-label .restaurant-meal-glyph{font-size:1.5em;line-height:1}

/* Compact cuisine choices wrap to fit every screen. */
.restaurant-cuisines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px;overflow:visible;padding:8px 0 16px}
.restaurant-cuisines .restaurant-cuisine{min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:8px 10px;font-size:14px;line-height:1.3;border-width:2px}
.restaurant-cuisine > span:first-child{overflow-wrap:anywhere}
.restaurant-cuisine .restaurant-badge{gap:5px}
.restaurant-cuisine .restaurant-badge img{width:28px;height:28px}
.restaurant-cuisine .restaurant-badge .restaurant-meal-label{font-size:12px}
