/* Clear routes to the restaurant and its own social accounts. */
.kc-quick-contact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:16px; }
.kc-quick-contact a { display:flex; align-items:center; justify-content:center; gap:7px; min-width:44px; min-height:44px; padding:9px 10px; border:1px solid var(--line); border-radius:3px; background:#fff; color:var(--ink); font-size:11px; font-weight:700; text-decoration:none; }
.kc-social-link { --social-color:#128c7e; --social-tint:#f0faf6; }
.kc-social-link--instagram { --social-color:#c13584; --social-tint:#fcf3f8; }
.kc-social-link--facebook { --social-color:#0866ff; --social-tint:#f1f6ff; }
.kc-social-icon { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:22px; height:22px; }
.kc-social-icon svg { display:block; width:100%; height:100%; }
.kc-social-icon--whatsapp { color:#128c7e; }
.kc-social-icon--instagram { padding:2px; border-radius:6px; color:#fff; background:linear-gradient(35deg,#e1306c 0%,#c13584 38%,#833ab4 70%,#405de6 100%); }
.kc-social-icon--facebook { border-radius:50%; color:#fff; background:#0866ff; overflow:hidden; }
.kc-quick-contact a:hover { border-color:var(--social-color); background:var(--social-tint); color:var(--ink); }
.kc-social-link:focus-visible { outline:2px solid var(--social-color); outline-offset:3px; }
.kc-contact { padding:32px 0 24px; border-top:1px solid var(--ink); background:#fff; color:var(--ink); }
.kc-contact-home { max-width:1216px; margin:0 auto; }
.kc-contact-menu { margin-top:42px; }
.kc-contact-grid { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:44px; }
.kc-contact-grid > section { min-width:0; }
.kc-contact-about img { width:88px; height:56px; object-fit:contain; margin-bottom:17px; }
.kc-contact-about p { max-width:44ch; color:var(--muted); font-size:12px; line-height:1.75; }
.kc-contact-title { margin:0 0 12px; font-size:14px; line-height:1.3; font-weight:800; letter-spacing:-.01em; }
.kc-contact address { max-width:32ch; margin:0 0 8px; font-style:normal; font-size:12px; line-height:1.7; }
.kc-contact-hours { color:var(--muted); font-size:11px; line-height:1.6; }
.kc-contact-directions { display:inline-flex; align-items:center; gap:9px; min-width:44px; min-height:44px; margin-top:8px; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.kc-contact-directions svg { width:17px; height:17px; }
.kc-contact-directions svg:last-child { width:15px; height:15px; }
.kc-contact-directions:hover { color:var(--red); }
.kc-contact-links { display:flex; flex-direction:column; align-items:flex-start; }
.kc-contact-links a { display:flex; align-items:center; gap:10px; min-width:44px; min-height:44px; max-width:100%; color:var(--ink); font-size:12px; font-weight:600; text-decoration:none; }
.kc-contact-links svg { width:16px; height:16px; color:var(--muted); }
.kc-contact-links span { overflow-wrap:anywhere; line-height:1.5; }
.kc-contact-links a:hover { color:var(--red); }
.kc-contact-social { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.kc-contact-social a { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:8px 9px; border:1px solid var(--line); border-radius:3px; background:#fff; color:var(--ink); font-size:10px; font-weight:700; text-decoration:none; }
.kc-contact-social a:hover { border-color:var(--social-color); background:var(--social-tint); color:var(--ink); }
.kc-contact-base { display:flex; justify-content:flex-end; margin-top:24px; padding-top:12px; border-top:1px solid var(--line); }
.kc-contact-source { display:inline-flex; align-items:center; gap:8px; min-width:44px; min-height:44px; color:var(--muted); font-size:11px; font-weight:600; text-decoration:none; }
.kc-contact-source svg { width:15px; height:15px; }
.kc-contact-source:hover { color:var(--red); }
@media(max-width:1280px) {
  .kc-contact-home { margin-right:32px; margin-left:32px; }
}
@media(max-width:1000px) {
  .kc-contact-home { margin-right:24px; margin-left:24px; }
  .kc-contact-grid { gap:28px; }
}
@media(max-width:760px) {
  .kc-quick-contact { margin-top:12px; gap:7px; }
  .kc-quick-contact a { gap:5px; padding:9px 7px; font-size:10px; }
  .kc-contact { padding-top:25px; padding-bottom:22px; }
  .kc-contact-home { margin-right:20px; margin-left:20px; }
  .kc-contact-menu { margin-top:30px; }
  .kc-contact-grid { grid-template-columns:1fr 1fr; gap:25px 22px; }
  .kc-contact-about { grid-column:1 / -1; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:start; gap:22px; padding-bottom:25px; border-bottom:1px solid var(--line); }
  .kc-contact-about img { width:72px; height:46px; margin:0; }
  .kc-contact-about p { max-width:45ch; font-size:12px; line-height:1.65; }
  .kc-contact-title { margin-bottom:11px; font-size:14px; }
  .kc-contact address { font-size:12px; }
  .kc-contact-hours { font-size:12px; }
  .kc-contact-links a { gap:8px; font-size:12px; }
  .kc-contact-links svg { width:14px; height:14px; }
  .kc-contact-directions { font-size:12px; gap:6px; }
  .kc-contact-social { gap:6px; margin-top:6px; }
  .kc-contact-social a { font-size:12px; }
  .kc-contact-base { justify-content:flex-start; margin-top:20px; }
  .kc-contact-source { font-size:12px; }
}
@media(max-width:370px) {
  .kc-contact-home { margin-right:16px; margin-left:16px; }
  .kc-contact-grid { gap:24px 18px; }
  .kc-contact-about { grid-template-columns:64px minmax(0,1fr); gap:18px; }
  .kc-contact-about img { width:64px; height:41px; }
}
