/* Shared public opening state and single-page spacing. */
.opening-status{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.5;margin:12px 0 0}
.opening-status.is-open{color:#16803d}.opening-status.is-closed{color:#6b7280}.opening-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.restaurant-stack .identity .hero-specialties{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.restaurant-stack .identity .address{margin-top:0;margin-bottom:12px}.restaurant-stack .identity .hero-city{margin-bottom:14px}.restaurant-stack .identity .hero-phones{margin-top:16px}.restaurant-stack .identity .opening-status{margin:14px 0}
.restaurant-stack .favorite-button{display:inline-flex;width:auto;gap:8px;padding:12px 15px;color:var(--brand,#c9202c);border:1px solid #efb1b9}
.favorite-icon{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.favorite-button i{display:block}
.restaurant-stack .favorite-button.is-favorite{background:var(--brand,#c9202c);border-color:var(--brand,#c9202c);color:#fff}.favorite-button[aria-busy=true]{opacity:.6;cursor:wait}.favorite-error{color:#b42318;font-size:13px;margin:8px 0}
@media(max-width:600px){.restaurant-card .opening-status{font-size:12px;margin-top:10px}.restaurant-stack .identity .hero-specialties{gap:8px;margin-bottom:16px}}

.favorite-icon>path:first-child{fill:currentColor}.favorite-icon>circle{fill:#fff}.favorite-button.is-favorite .favorite-icon>circle{fill:var(--brand,#c9202c)}

.hours-clock{display:inline-block;width:17px;height:17px;flex:0 0 17px;vertical-align:-3px;margin-inline-end:7px}.opening-status .hours-clock{margin-inline-end:0}
/* Favorite control has no surrounding box; filled heart marks saved cards. */
.public-body .restaurant-card{position:relative}
.public-body .restaurant-card .card-favorite-form{position:absolute;top:12px;inset-inline-end:12px;z-index:2;margin:0}
.public-body .restaurant-card .card-favorite-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:0;background:none;color:#b71e2e;cursor:pointer;transition:color .15s}
.card-favorite-button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.public-body .restaurant-card .card-favorite-button:hover{color:#8e1422}
.public-body .restaurant-card .card-favorite-button.is-favorite{color:#a81929}
.card-favorite-button.is-favorite svg{fill:currentColor}
.card-favorite-button[aria-busy=true]{opacity:.55;cursor:wait}
.public-body .restaurant-card .card-favorite-button:focus-visible{outline:2px solid currentColor;outline-offset:1px;border-radius:5px}
.public-body .restaurant-card .card-title{min-height:40px;padding-inline-end:48px}
.public-body .restaurant-card .favorite-error{max-width:220px;font-size:12px;background:#fff;border:1px solid #f2ccd2;padding:8px;border-radius:8px;box-shadow:0 3px 12px #10182812}
@media(max-width:760px){.public-body .restaurant-card .card-favorite-form{top:4px;inset-inline-end:10px}.public-body .restaurant-card .card-favorite-button{width:36px;height:36px;padding:2px}.public-body .restaurant-card .card-title{min-height:36px;padding-inline-end:42px;display:flex;align-items:center}}
