.restaurant-directory{color:#342635;background:#fffafc;border:1px solid #efdce6;border-radius:20px;max-width:1320px;margin:20px auto 36px;padding:22px}.restaurant-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.restaurant-heading h1{margin:7px 0;font-size:clamp(25px,3vw,36px);line-height:1.12}.restaurant-heading p{color:#71576a;margin:0;font-size:16px}.restaurant-count,.restaurant-dog{color:#873560;white-space:nowrap;background:#f9e7f0;border-radius:20px;padding:7px 11px;font-size:12px}.restaurant-toolbar{align-items:end;gap:12px;display:flex}.restaurant-name-filter{margin-top:12px}.restaurant-area-options{gap:6px;max-width:750px;margin:10px 0;display:grid}.restaurant-area-options button{text-align:left;background:#fff5fa}.restaurant-location-status{color:#84385f;font-size:14px}.restaurant-directory button:disabled{opacity:.65;cursor:wait}.restaurant-toolbar label{flex:1;gap:6px;font-size:13px;font-weight:700;display:grid}.restaurant-toolbar label:first-child{flex:2}.restaurant-toolbar input,.restaurant-toolbar select{color:#342635;background:#fff;border:1px solid #dfc5d3;border-radius:10px;width:100%;min-width:0;min-height:44px;padding:11px 12px;font-size:15px}.restaurant-directory button{color:#84385f;cursor:pointer;background:#fff;border:1px solid #d6adc1;border-radius:10px;min-height:44px;padding:11px 14px;font-weight:700}.restaurant-policy{color:#71576a;margin:14px 0 10px;font-size:13px;line-height:1.5}.restaurant-result-count{color:#71576a;margin:0 0 14px;font-size:13px}.restaurant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.restaurant-card{background:#fff;border:1px solid #ead6e1;border-radius:14px;flex-direction:column;min-width:0;padding:16px;display:flex}.restaurant-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.restaurant-region{text-transform:uppercase;letter-spacing:.06em;color:#98617e;font-size:11px;font-weight:700}.restaurant-dog{padding:5px 7px;font-size:11px}.restaurant-card h2{margin:13px 0 8px;font-size:20px;line-height:1.2}.restaurant-address{color:#71576a;margin:0 0 16px;font-size:13px;line-height:1.5}.restaurant-card-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;display:flex}.restaurant-card-actions a{color:#84385f;align-items:center;min-height:40px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.restaurant-card-actions a.restaurant-book{color:#fff;background:linear-gradient(115deg,#bb487e,#873c86);border-radius:9px;padding:10px 13px}.restaurant-more{margin:20px auto;display:block}.restaurant-empty{text-align:center;border:1px dashed #dfc5d3;border-radius:14px;padding:28px 12px}.restaurant-empty h2{margin:0;font-size:22px}.restaurant-sources{color:#71576a;border-top:1px solid #ead6e1;margin-top:20px;padding-top:16px;font-size:12px;line-height:1.6}.restaurant-sources a{color:#84385f;text-decoration:underline}.restaurant-directory a:focus-visible,.restaurant-directory button:focus-visible,.restaurant-directory input:focus-visible,.restaurant-directory select:focus-visible{outline-offset:3px;outline:3px solid #b34480}@media (width<=1100px){.restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.restaurant-directory{margin:12px 10px 24px;padding:16px}.restaurant-heading{flex-direction:column;align-items:flex-start;gap:10px}.restaurant-toolbar{flex-direction:column;align-items:stretch}.restaurant-grid{grid-template-columns:1fr}.restaurant-heading h1{font-size:27px}.restaurant-card h2{font-size:20px}}.restaurant-card-actions button.restaurant-book,.pet-booking-dialog a.restaurant-book{color:#fff;background:linear-gradient(110deg,#cf4287,#8054b9);border:0;border-radius:9px;min-height:40px;padding:10px 13px;font-size:12px;font-weight:700;text-decoration:none}.pet-booking-dialog{color:#352a38;box-sizing:border-box;background:#fff;border:1px solid #eed6e3;border-radius:18px;width:min(520px,100vw - 32px);max-height:calc(100dvh - 40px);padding:22px;overflow:auto}.pet-booking-dialog::backdrop{background:#2314238c}.pet-booking-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.pet-booking-heading h2{margin:0;font-size:24px}.pet-booking-dialog p{font-size:14px;line-height:1.5}.pet-booking-row{flex-wrap:wrap;align-items:end;gap:10px;margin:16px 0;display:flex}.pet-booking-dialog label{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.pet-booking-row label{flex:1;min-width:100px}.pet-booking-dialog input:not([type=checkbox]),.pet-booking-dialog select,.pet-booking-dialog textarea{box-sizing:border-box;width:100%;font:inherit;color:#352a38;background:#fff;border:1px solid #dfc9d5;border-radius:8px;min-height:44px;padding:10px}.pet-booking-note{margin-top:18px}.pet-booking-dialog textarea{resize:vertical;font-size:13px;line-height:1.5}.pet-booking-dialog .pet-booking-check{flex-direction:row;align-items:start;margin:16px 0;line-height:1.5}.pet-booking-check input{margin-top:3px}.pet-booking-continue{text-align:center;box-sizing:border-box;width:100%;display:block}.pet-booking-dialog button:disabled{opacity:.5;cursor:not-allowed}
