/**
 * HBM RESTAURANT ARCHIVE — HABESHA STUDIO LIGHT
 * Scoped to .hbm-archive only. No query/SEO/URL changes.
 */

body.post-type-archive-hbm_business,
body.page-slug-restaurants{
  background:#f7f7f4 !important;
}

body.post-type-archive-hbm_business #page,
body.post-type-archive-hbm_business .site,
body.post-type-archive-hbm_business #content,
body.post-type-archive-hbm_business .site-content,
body.post-type-archive-hbm_business .content-area,
body.post-type-archive-hbm_business .content-inner,
body.post-type-archive-hbm_business .jeg_main,
body.post-type-archive-hbm_business .jeg_main_content,
body.post-type-archive-hbm_business .container,
body.post-type-archive-hbm_business .jeg_container,
body.page-slug-restaurants #page,
body.page-slug-restaurants .site,
body.page-slug-restaurants #content,
body.page-slug-restaurants .site-content,
body.page-slug-restaurants .content-area,
body.page-slug-restaurants .content-inner,
body.page-slug-restaurants .jeg_main,
body.page-slug-restaurants .jeg_main_content,
body.page-slug-restaurants .container,
body.page-slug-restaurants .jeg_container{
  background:transparent !important;
  box-shadow:none !important;
}

html body .hbm-archive{
  --hbm-green:#063c2d;
  --hbm-green-2:#0f6e58;
  --hbm-red:#d63c4c;
  --hbm-gold:#d6ad61;
  --hbm-ink:#183128;
  --hbm-muted:#68736e;
  --hbm-line:#e2e7e3;
  --hbm-paper:#fff;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:44px max(14px,calc((100vw - 1160px)/2)) 84px !important;
  background:#f7f7f4 !important;
  color:var(--hbm-ink) !important;
  border:0 !important;
  box-shadow:none !important;
  position:relative !important;
  z-index:1 !important;
  overflow:visible !important;
}
html body .hbm-archive *,
html body .hbm-archive *::before,
html body .hbm-archive *::after{box-sizing:border-box}
html body .hbm-archive::before{display:none !important;content:none !important}

/* The website theme already supplies the real header. */
html body .hbm-archive > .hbm-topbar{display:none !important}

/* HERO */
html body .hbm-archive > .hbm-hero{
  display:block !important;
  width:min(900px,100%) !important;
  margin:0 0 26px !important;
  padding:0 !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:var(--hbm-ink) !important;
}
html body .hbm-archive > .hbm-hero::before{
  content:"RESTAURANT DIRECTORY" !important;
  display:block !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  margin:0 0 10px !important;
  padding:0 !important;
  background:none !important;
  color:var(--hbm-red) !important;
  font:900 11px/1.2 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
}
html body .hbm-archive > .hbm-hero::after{display:none !important;content:none !important}
html body .hbm-archive > .hbm-hero h1{
  margin:0 !important;
  max-width:830px !important;
  color:var(--hbm-green) !important;
  -webkit-text-fill-color:var(--hbm-green) !important;
  text-shadow:none !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(42px,6vw,72px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
  font-weight:700 !important;
}
html body .hbm-archive > .hbm-hero p{
  margin:16px 0 0 !important;
  max-width:760px !important;
  color:var(--hbm-muted) !important;
  -webkit-text-fill-color:var(--hbm-muted) !important;
  text-shadow:none !important;
  font:500 16px/1.65 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

/* FILTER */
html body .hbm-archive > .hbm-toolbar{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
  margin:0 0 26px !important;
  padding:10px !important;
  background:#fff !important;
  background-image:none !important;
  border:1px solid var(--hbm-line) !important;
  border-radius:18px !important;
  box-shadow:0 12px 28px rgba(22,59,45,.06) !important;
}
html body .hbm-archive .hbm-form{
  display:grid !important;
  grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(130px,.72fr)) auto !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
html body .hbm-archive .hbm-input,
html body .hbm-archive .hbm-select{
  appearance:auto !important;
  width:100% !important;
  min-width:0 !important;
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:1px solid var(--hbm-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  background-image:none !important;
  color:#293a34 !important;
  -webkit-text-fill-color:#293a34 !important;
  box-shadow:none !important;
  outline:none !important;
  font:600 13px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body .hbm-archive .hbm-input::placeholder{color:#939b97 !important;-webkit-text-fill-color:#939b97 !important}
html body .hbm-archive .hbm-select option{background:#fff !important;color:#293a34 !important}
html body .hbm-archive .hbm-input:focus,
html body .hbm-archive .hbm-select:focus{
  border-color:#b9c9c1 !important;
  box-shadow:0 0 0 3px rgba(6,60,45,.07) !important;
}
html body .hbm-archive .hbm-btn{
  width:auto !important;
  min-width:146px !important;
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  margin:0 !important;
  padding:0 18px !important;
  border:1px solid var(--hbm-green) !important;
  border-radius:10px !important;
  background:var(--hbm-green) !important;
  background-image:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
  font:800 13px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  cursor:pointer !important;
}
html body .hbm-archive .hbm-btn:hover{background:#0a4d3a !important;border-color:#0a4d3a !important}
html body .hbm-archive > .hbm-toolbar > .hbm-meta{
  margin:0 !important;
  color:var(--hbm-muted) !important;
  -webkit-text-fill-color:var(--hbm-muted) !important;
  font:800 13px/1.3 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  white-space:nowrap !important;
}

/* GRID */
html body .hbm-archive > .hbm-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  align-items:start !important;
  gap:20px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

/* CARDS */
html body .hbm-archive .hbm-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-self:start !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid var(--hbm-line) !important;
  border-radius:17px !important;
  background:#fff !important;
  background-image:none !important;
  box-shadow:0 8px 24px rgba(22,59,45,.045) !important;
  color:var(--hbm-ink) !important;
}
html body .hbm-archive .hbm-card:hover{border-color:#ccd8d1 !important;box-shadow:0 12px 32px rgba(22,59,45,.08) !important}
html body .hbm-archive .hbm-card-img{
  position:relative !important;
  display:block !important;
  flex:none !important;
  width:100% !important;
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  background:#e9eeeb !important;
}
html body .hbm-archive .hbm-card-img > a{
  display:block !important;
  width:100% !important;
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
  overflow:hidden !important;
}
html body .hbm-archive .hbm-card-img img{
  display:block !important;
  width:100% !important;
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
}
html body .hbm-archive .hbm-card-placeholder{
  display:block !important;
  width:100% !important;
  height:220px !important;
  min-height:220px !important;
  background:linear-gradient(135deg,#edf1ee,#e2e8e4) !important;
}
html body .hbm-archive .hbm-badge{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  z-index:2 !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  padding:5px 10px !important;
  border:1px solid rgba(6,60,45,.08) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.94) !important;
  color:#4a4437 !important;
  -webkit-text-fill-color:#4a4437 !important;
  box-shadow:0 4px 12px rgba(0,0,0,.06) !important;
  font:800 12px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body .hbm-archive .hbm-body{
  display:flex !important;
  flex:0 0 auto !important;
  flex-direction:column !important;
  gap:9px !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:15px !important;
  background:#fff !important;
  color:var(--hbm-ink) !important;
}
html body .hbm-archive .hbm-title{
  margin:0 !important;
  color:var(--hbm-green) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:21px !important;
  line-height:1.13 !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
}
html body .hbm-archive .hbm-title a{color:var(--hbm-green) !important;-webkit-text-fill-color:var(--hbm-green) !important;text-decoration:none !important}
html body .hbm-archive .hbm-meta-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px 9px !important;
  margin:0 !important;
  color:#737d78 !important;
  -webkit-text-fill-color:#737d78 !important;
  font:600 12px/1.45 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body .hbm-archive .hbm-tags{display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin:0 !important}
html body .hbm-archive .hbm-tag{
  display:inline-flex !important;
  align-items:center !important;
  min-height:27px !important;
  padding:4px 8px !important;
  border:1px solid var(--hbm-line) !important;
  border-radius:999px !important;
  background:#f8faf8 !important;
  color:#53625b !important;
  -webkit-text-fill-color:#53625b !important;
  font:700 11px/1 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body .hbm-archive .hbm-more{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  width:100% !important;
  min-height:34px !important;
  margin:3px 0 0 !important;
  padding:7px 0 0 !important;
  border-top:1px solid #eef1ef !important;
  color:var(--hbm-green) !important;
  -webkit-text-fill-color:var(--hbm-green) !important;
  text-decoration:none !important;
  font:800 12px/1.2 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
html body .hbm-archive .hbm-empty{padding:20px 0 !important;color:var(--hbm-muted) !important}

/* PAGER */
html body .hbm-archive > .hbm-pager{
  display:flex !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:28px 0 0 !important;
  padding:0 !important;
}
html body .hbm-archive .hbm-pager .page-numbers{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:40px !important;
  height:40px !important;
  padding:0 11px !important;
  margin:0 !important;
  border:1px solid var(--hbm-line) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--hbm-green) !important;
  text-decoration:none !important;
  font-weight:800 !important;
}
html body .hbm-archive .hbm-pager .current{background:var(--hbm-green) !important;color:#fff !important;border-color:var(--hbm-green) !important}

/* Legacy SEO blocks on non-canonical fallback pages only */
html body .hbm-archive .hbm-city-intro,
html body .hbm-archive .hbm-city-faq,
html body .hbm-archive .hbm-nearby-cities{max-width:1160px;margin:30px auto;padding:0}
html body .hbm-archive .hbm-city-intro__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
html body .hbm-archive .hbm-city-copy{background:#fff;border:1px solid var(--hbm-line);border-radius:16px;padding:24px;box-shadow:none;color:var(--hbm-ink)}
html body .hbm-archive .hbm-city-copy--wide{grid-column:1/-1}
html body .hbm-archive .hbm-city-copy p{color:var(--hbm-muted);line-height:1.75}

@media(max-width:980px){
  html body .hbm-archive .hbm-form{grid-template-columns:1fr 1fr 1fr !important}
  html body .hbm-archive .hbm-input{grid-column:1/-1 !important}
  html body .hbm-archive .hbm-btn{grid-column:1/-1 !important;width:100% !important;max-width:none !important}
  html body .hbm-archive > .hbm-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* MOBILE — fixed-height horizontal cards. No percentage heights. */
@media(max-width:620px){
  html body .hbm-archive{
    padding:32px 8px 74px !important;
  }
  html body .hbm-archive > .hbm-hero{margin-bottom:20px !important;padding:0 2px !important}
  html body .hbm-archive > .hbm-hero::before{font-size:9px !important;margin-bottom:8px !important}
  html body .hbm-archive > .hbm-hero h1{
    font-size:clamp(37px,11.8vw,52px) !important;
    line-height:.96 !important;
  }
  html body .hbm-archive > .hbm-hero p{
    margin-top:12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  html body .hbm-archive > .hbm-toolbar{
    display:block !important;
    margin-bottom:16px !important;
    padding:7px !important;
    border-radius:15px !important;
  }
  html body .hbm-archive .hbm-form{display:grid !important;grid-template-columns:1fr !important;gap:0 !important}
  html body .hbm-archive .hbm-input,
  html body .hbm-archive .hbm-select{
    grid-column:auto !important;
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    padding:0 12px !important;
    border:0 !important;
    border-bottom:1px solid #e7ebe8 !important;
    border-radius:0 !important;
    font-size:12px !important;
  }
  html body .hbm-archive .hbm-input{border-radius:9px 9px 0 0 !important}
  html body .hbm-archive .hbm-btn{
    grid-column:auto !important;
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    margin-top:6px !important;
    border-radius:9px !important;
    font-size:12px !important;
  }
  html body .hbm-archive > .hbm-toolbar > .hbm-meta{
    display:block !important;
    width:100% !important;
    margin:9px 2px 1px !important;
    color:var(--hbm-green) !important;
    -webkit-text-fill-color:var(--hbm-green) !important;
    font-size:11px !important;
  }

  html body .hbm-archive > .hbm-grid{
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
    align-items:start !important;
    gap:10px !important;
  }
  html body .hbm-archive .hbm-card{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) !important;
    grid-template-rows:126px !important;
    align-items:stretch !important;
    width:100% !important;
    height:126px !important;
    min-height:126px !important;
    max-height:126px !important;
    overflow:hidden !important;
    border-radius:14px !important;
  }
  html body .hbm-archive .hbm-card-img,
  html body .hbm-archive .hbm-card-img > a,
  html body .hbm-archive .hbm-card-img img,
  html body .hbm-archive .hbm-card-placeholder{
    display:block !important;
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    height:126px !important;
    min-height:126px !important;
    max-height:126px !important;
    aspect-ratio:auto !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body .hbm-archive .hbm-card-img{grid-column:1 !important;grid-row:1 !important;overflow:hidden !important}
  html body .hbm-archive .hbm-card-img img{object-fit:cover !important;object-position:center !important}
  html body .hbm-archive .hbm-badge{
    top:7px !important;
    left:7px !important;
    min-height:24px !important;
    padding:4px 7px !important;
    font-size:9px !important;
  }
  html body .hbm-archive .hbm-body{
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    width:auto !important;
    height:126px !important;
    min-height:126px !important;
    max-height:126px !important;
    overflow:hidden !important;
    padding:10px 10px 8px !important;
    gap:4px !important;
  }
  html body .hbm-archive .hbm-title{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.08 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  html body .hbm-archive .hbm-meta-row{
    gap:2px 6px !important;
    font-size:9.5px !important;
    line-height:1.25 !important;
    max-height:28px !important;
    overflow:hidden !important;
  }
  html body .hbm-archive .hbm-tags{display:none !important}
  html body .hbm-archive .hbm-more{
    min-height:24px !important;
    margin-top:auto !important;
    padding-top:5px !important;
    font-size:9px !important;
    line-height:1 !important;
  }

  html body .hbm-archive .hbm-city-intro__grid{grid-template-columns:1fr !important}
  html body .hbm-archive .hbm-city-copy--wide{grid-column:auto !important}
}

@media(max-width:380px){
  html body .hbm-archive .hbm-card{
    grid-template-columns:100px minmax(0,1fr) !important;
    grid-template-rows:118px !important;
    height:118px !important;
    min-height:118px !important;
    max-height:118px !important;
  }
  html body .hbm-archive .hbm-card-img,
  html body .hbm-archive .hbm-card-img > a,
  html body .hbm-archive .hbm-card-img img,
  html body .hbm-archive .hbm-card-placeholder{
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
    height:118px !important;
    min-height:118px !important;
    max-height:118px !important;
  }
  html body .hbm-archive .hbm-body{height:118px !important;min-height:118px !important;max-height:118px !important;padding:9px !important}
  html body .hbm-archive .hbm-title{font-size:15px !important}
}
