/* HANAWA responsive shell: mobile header/menu/CTA/blog alignment */
.site-header-modern__toggle,
.kr-menu-btn {
  width: 48px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(18, 184, 199, .35);
  border-radius: 999px;
  background: #fff;
  color: #007d89;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  line-height: 1;
  flex: 0 0 auto;
}
.site-header-modern__toggle span,
.kr-menu-btn span {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.site-header-modern__toggle[aria-expanded="true"] span:nth-child(1),
.kr-menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header-modern__toggle[aria-expanded="true"] span:nth-child(2),
.kr-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-header-modern__toggle[aria-expanded="true"] span:nth-child(3),
.kr-menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.kr-header__top-inner,
.site-header-modern__inner { min-width: 0; }
.kr-brand,
.site-header-modern__brand { min-width: 0; flex: 1 1 auto; }
.kr-brand__text,
.site-header-modern__titles { min-width: 0; }
.kr-brand__title,
.site-header-modern__title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 980px) {
  .site-header-modern__toggle,
  .kr-menu-btn { display: inline-flex; }
  .hanawa-global-nav,
  .global-nav-modern,
  .kr-global-nav { display: none; }
  .hanawa-global-nav.is-open,
  .global-nav-modern.is-open,
  .kr-global-nav.is-open {
    display: flex;
    flex-direction: column;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    max-height: none;
    overflow: visible;
    z-index: 1900;
  }
  .hanawa-mobile-cta { display: grid; }
  body.has-mobile-cta { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  body.is-menu-open .hanawa-mobile-cta { display: none; }
}
@media (max-width: 767px) {
  .kr-header__top-inner { grid-template-columns: minmax(0, 1fr) 48px; gap: 10px; }
  .kr-brand img,
  .site-header-modern__brand img { width: 44px; height: 44px; }
  .kr-brand__title,
  .site-header-modern__title { font-size: clamp(.88rem, 3.8vw, 1.05rem); line-height: 1.15; }
  .kr-brand__lead,
  .kr-header__tel,
  .kr-header__hours,
  .site-header-modern__tag,
  .site-header-modern__tel,
  .site-header-modern__hours { display: none; }
}
.hanawa-mobile-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  display: none;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  background: rgba(6, 72, 84, .96);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, .16);
}
.hanawa-mobile-cta a {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
}
.hanawa-mobile-cta__form { background: #00a884; }
.hanawa-mobile-cta__tel { background: #138d99; }
.hanawa-mobile-cta__line { background: #06c755; }
@media (min-width: 981px) { .hanawa-mobile-cta { display: none; } }
.hanawa-local-nav,
.kr-section-nav,
.kr-business-nav {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px 16px;
  scrollbar-width: none;
}
.hanawa-local-nav::-webkit-scrollbar,
.kr-section-nav::-webkit-scrollbar,
.kr-business-nav::-webkit-scrollbar { display: none; }
.hanawa-local-nav a,
.kr-section-nav a,
.kr-business-nav a {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(18, 184, 199, .28);
  background: #fff;
  color: #007d89;
  font-weight: 800;
  text-decoration: none;
}
.hanawa-local-nav a[aria-current="page"],
.kr-section-nav a[aria-current="page"],
.kr-business-nav a[aria-current="page"] { background: #00a884; color: #fff; }
.latest-blog-list .blog-table { display: grid; gap: 12px; }
.latest-blog-list .blog-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid rgba(18, 184, 199, .18);
  border-radius: 18px;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0, 74, 84, .06);
}
.latest-blog-list .blog-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #4caf50;
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
  white-space: nowrap;
}
.latest-blog-list .blog-title { min-width: 0; color: #2f3438; font-weight: 800; line-height: 1.55; }
.latest-blog-list .blog-date { color: #666; font-size: .95rem; white-space: nowrap; }
@media (max-width: 767px) {
  .latest-blog-list .blog-row { grid-template-columns: 1fr; align-items: stretch; gap: 8px; padding: 16px; }
  .latest-blog-list .blog-category { width: fit-content; min-width: 72px; }
  .latest-blog-list .blog-title { font-size: 1rem; }
  .latest-blog-list .blog-date { font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header-modern__toggle span,
  .kr-menu-btn span,
  .hanawa-mobile-cta,
  .hanawa-global-nav,
  .global-nav-modern,
  .kr-global-nav { transition: none; animation: none; }
}

/* shell3: keep mobile CTA visible after the base display:none rule */
@media (max-width: 980px) {
  .hanawa-mobile-cta {
    display: grid;
  }

  body.is-menu-open .hanawa-mobile-cta {
    display: none;
  }
}
