.sh101-dining{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2a2a2a;background:#f8f7f4}.sh101-dining__hero{padding:clamp(2.5rem,6vw,5rem) 1.5rem;background:linear-gradient(135deg,#eaf4f8,#fff);border-bottom:1px solid rgba(30,66,123,.16);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}.sh101-dining__hero-copy{max-width:720px;justify-self:end}.sh101-dining__hero-art{margin:0;justify-self:start}.sh101-dining__hero-art img{display:block;width:min(100%,540px);height:auto;object-fit:contain;mix-blend-mode:multiply}.sh101-dining__hero>*{min-width:0}.sh101-dining__kicker,.sh101-dining-card__category{color:#3d6b9b;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.sh101-dining h1{margin-top:.25rem;margin-bottom:1rem;color:#1e427b;font-family:"Libre Bodoni",Georgia,serif;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.05}.sh101-dining__lead{font-size:1.12rem;line-height:1.6}.sh101-dining__stats{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;color:#1e427b;font-size:.9rem}.sh101-dining__stats span{display:inline-block}.sh101-dining__controls{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.sh101-dining__controls label{display:block;font-weight:700;margin-bottom:.5rem}.sh101-dining__controls input{width:100%;padding:.85rem 1rem;border:1px solid #b7c9d5;border-radius:8px;font-size:1rem}.sh101-dining__filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.sh101-dining__filters button{border:1px solid #1e427b;background:#fff;color:#1e427b;border-radius:999px;padding:.55rem .85rem;cursor:pointer}.sh101-dining__filters button.is-active,.sh101-dining__filters button:hover{background:#1e427b;color:#fff}.sh101-dining__status,.sh101-dining__grid{max-width:1200px;margin-left:auto;margin-right:auto}.sh101-dining__status{padding:0 1.5rem 1rem;color:#5c5c5c}.sh101-dining__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;align-items:stretch;padding:0 1.5rem 3rem}.sh101-dining-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(22,51,95,.10);transition:transform 180ms ease,box-shadow 180ms ease;height:100%;display:flex;flex-direction:column;border:1px solid rgba(30,66,123,.16);position:relative}.sh101-dining-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(22,51,95,.16)}.sh101-dining-card:focus-within{outline:3px solid #a9d6e7;outline-offset:2px}.sh101-dining-card__body{padding:22px;flex-grow:1;display:flex;flex-direction:column}.sh101-dining-card .restaurant-name,.sh101-dining-card__title{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.22rem;color:#1e427b;margin:0 0 14px;font-weight:700;line-height:1.25}.sh101-dining-card .restaurant-address,.sh101-dining-card .restaurant-phone,.sh101-dining-card__address,.sh101-dining-card__phone{color:#5c5c5c;margin:0 0 8px;font-size:.92rem;display:flex;align-items:center;gap:8px;line-height:1.4}.sh101-dining-card__actions{display:flex;gap:10px;margin-top:auto;padding-top:18px}.sh101-dining-card__actions a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;text-decoration:none;border-radius:8px;font-size:.88rem;font-weight:700}.sh101-dining-card__actions .restaurant-website{background:#1e427b;color:#fff}.sh101-dining-card__actions .restaurant-call{background:#f8de9c;color:#16335f}.sh101-dining button:focus-visible,.sh101-dining input:focus-visible,.sh101-dining a:focus-visible{outline:3px solid #f0b429;outline-offset:3px}@media(max-width:800px){.sh101-dining__hero{grid-template-columns:1fr}.sh101-dining__hero-copy,.sh101-dining__hero-art{justify-self:stretch;max-width:100%}.sh101-dining__hero-art{display:flex;justify-content:center}.sh101-dining__hero-art img{max-width:420px}}@media(max-width:560px){.sh101-dining__grid{grid-template-columns:1fr}.sh101-dining__stats{display:block}.sh101-dining__stats span{display:block;margin:.35rem 0}.sh101-dining-card__actions{flex-direction:column}.sh101-dining-card__actions a{width:100%}}

/* Hello Elementor's reset paints every button crimson on hover/focus
   (button:hover{background-color:#c36}). Restore brand behavior. */
.sh101-dining button:hover, .sh101-dining button:focus, .sh101-dining button:focus-visible { background-color: transparent; color: #1e427b; text-decoration: none; }
.sh101-dining__filters button:hover, .sh101-dining__filters button.is-active { background: #1e427b; color: #fff; }
