:root{
  --blue:#1aa5d3; --blue-dark:#0f7ea6; --ink:#20303a; --muted:#5b6b74;
  --bg:#eef2f4; --card:#ffffff; --line:#e2e8ec; --warn:#b8860b;
  --radius:14px; --shadow:0 6px 24px rgba(20,40,55,.08);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.5;
}
a{color:var(--blue-dark)}
.wrap{max-width:820px;margin:0 auto;padding:0 18px}

.hero{position:relative;background:#5a5a5a;text-align:center}
.hero-img{display:block;width:100%;max-width:1205px;height:auto;margin:0 auto}
.hero-badge{
  position:absolute;right:14px;bottom:14px;
  padding:8px 16px;border-radius:999px;font-weight:bold;font-size:15px;
  color:#fff;box-shadow:var(--shadow)
}
.hero-badge.is-open{background:#2e9e5b}
.hero-badge.is-closed{background:#b23b3b}

main.wrap{padding-top:26px;padding-bottom:40px}

.alert{
  border-radius:var(--radius);padding:16px 18px;margin:0 0 18px;
  box-shadow:var(--shadow);border-left:6px solid
}
.alert-banner{background:#fff7e6;border-color:var(--warn)}
.alert-vacation{background:#fdeaea;border-color:#b23b3b}

.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px 22px;margin:0 0 18px
}
.card h2{margin:0 0 14px;font-size:22px;color:var(--blue-dark)}

table.hours{width:100%;border-collapse:collapse}
table.hours th,table.hours td{padding:10px 6px;text-align:left;border-bottom:1px solid var(--line)}
table.hours th{font-weight:bold;width:42%;white-space:nowrap}
table.hours tr:last-child th,table.hours tr:last-child td{border-bottom:0}
table.hours tr.today{background:#eaf7fc}
table.hours tr.closed td{color:var(--muted)}
.tag{display:inline-block;background:var(--blue);color:#fff;font-size:11px;
  font-weight:bold;padding:1px 7px;border-radius:999px;vertical-align:middle;margin-left:6px}

.contact{font-style:normal}
.contact div{padding:2px 0}
.contact .c-name{font-weight:bold;font-size:18px;margin-bottom:4px}

.foot{background:#20303a;color:#c7d2d8;padding:16px 0;font-size:14px;text-align:center}
.foot .wrap{padding:0 18px}
.foot a{color:#cfe6f0}
.hero-slim .hero-img{max-height:200px;object-fit:cover}
.card h1{margin:0 0 14px;font-size:26px;color:var(--blue-dark)}
.card h2{margin:18px 0 8px;font-size:19px}

@media(max-width:560px){
  .card{padding:16px}
  table.hours th{width:auto;white-space:normal}
  .hero-badge{font-size:13px;padding:6px 12px}
}
