.kzzin-place-board,
.kzzin-place-view {
  --ink: #07111f;
  --muted: #667085;
  --line: #dce3ec;
  --paper: #f7f9fb;
  --white: #fff;
  --blue: #2458db;
  --cyan: #0d99b2;
  --green: #18825f;
  --coral: #e94d3d;
  --amber: #c98115;
  --night: #061027;
  --shadow: 0 18px 48px rgba(7, 17, 31, 0.12);
  margin: 0 auto;
  color: var(--ink);
  font-family: "SUIT Variable", Arial, sans-serif;
}

/* 2026-05 KZZIN vivid board redesign. */
.kzzin-place-board,
.kzzin-place-view {
  --ink: #08111f;
  --muted: #526175;
  --line: rgba(15, 23, 42, 0.12);
  --paper: #f3fbff;
  --white: #fff;
  --blue: #006bff;
  --cyan: #00c2ff;
  --green: #00bf7a;
  --coral: #ff2f7d;
  --amber: #ff9f1c;
  --violet: #7c3aed;
  --night: #061027;
  --hot-gradient: linear-gradient(135deg, #006bff 0%, #00d4ff 45%, #ff2f7d 100%);
  --food-gradient: linear-gradient(135deg, #ff2f7d 0%, #ff8a00 100%);
  --fresh-gradient: linear-gradient(135deg, #00b875 0%, #9dff00 100%);
  --shadow: 0 24px 70px rgba(10, 31, 68, 0.14);
}

.kzzin-place-board {
  padding-bottom: 60px;
  background: linear-gradient(180deg, #eafaff 0%, #fff 38%, #fff7fb 72%, #f3fbff 100%);
}

.kzzin-place-list-hero,
.kzzin-place-view-hero {
  border: 0;
  border-radius: 30px;
  box-shadow: 0 28px 80px rgba(0, 107, 255, 0.16);
}

.kzzin-place-list-hero {
  min-height: 330px;
  background:
    linear-gradient(135deg, rgba(0, 107, 255, 0.9) 0%, rgba(0, 212, 255, 0.78) 42%, rgba(255, 47, 125, 0.72) 100%),
    url("https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Evening_street_in_Seongsu-dong.jpg/1280px-Evening_street_in_Seongsu-dong.jpg") center / cover;
}

.kzzin-place-list-hero h1 {
  font-size: 62px;
  line-height: 1.04;
}

.kzzin-place-list-hero p,
.kzzin-place-view-hero p {
  color: rgba(255, 255, 255, 0.9);
}

.kzzin-place-eyebrow {
  color: #dff9ff;
}

.kzzin-place-stat-grid span,
.kzzin-place-side-stat,
.kzzin-place-detail-list,
.kzzin-place-asset-box,
.kzzin-place-neighbor a,
.kzzin-place-filter-panel,
.kzzin-place-adminbar,
.kzzin-place-feature-card,
.kzzin-place-card,
.kzzin-place-view-content,
.kzzin-place-tags.is-side {
  border: 0;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.kzzin-place-stat-grid span {
  background: rgba(255, 255, 255, 0.9);
}

.kzzin-place-stat-grid strong {
  color: #061027;
}

.kzzin-place-btn,
.kzzin-place-adminbar button,
.kzzin-place-search button,
.kzzin-place-react a,
.kzzin-place-react span,
.kzzin-place-view-admin a,
.kzzin-place-cate a,
.kzzin-place-filter-row a,
.kzzin-place-sortbar a {
  border-color: rgba(0, 107, 255, 0.14);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(10, 31, 68, 0.06);
}

.kzzin-place-btn:hover,
.kzzin-place-adminbar button:hover,
.kzzin-place-view-admin a:hover,
.kzzin-place-cate #bo_cate_on,
.kzzin-place-cate a:hover,
.kzzin-place-filter-row a:hover,
.kzzin-place-filter-row a.is-active,
.kzzin-place-sortbar a:hover,
.kzzin-place-sortbar a.is-active,
.kzzin-place-btn.is-primary {
  border-color: transparent;
  background: var(--hot-gradient);
  color: #fff;
}

.kzzin-place-filter-row:nth-child(2) a.is-active,
.kzzin-place-filter-row:nth-child(2) a:hover {
  background: var(--fresh-gradient);
  color: #061027;
}

.kzzin-place-featured-head .kzzin-place-eyebrow,
.kzzin-place-feature-body small,
.kzzin-place-info dt,
.kzzin-place-detail-list dt,
.kzzin-place-open,
.kzzin-place-neighbor span,
.kzzin-place-side-stat span {
  color: #0057ff;
}

.kzzin-place-feature-card,
.kzzin-place-card {
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.kzzin-place-feature-card:hover,
.kzzin-place-card:hover {
  border-color: transparent;
  transform: translateY(-4px);
  box-shadow: 0 34px 90px rgba(0, 107, 255, 0.2);
}

.kzzin-place-feature-media,
.kzzin-place-card-media {
  background: var(--hot-gradient);
}

.kzzin-place-feature-media em,
.kzzin-place-card-media em {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #061027;
}

.kzzin-place-card-media::after {
  background: linear-gradient(180deg, rgba(6, 16, 39, 0) 48%, rgba(6, 16, 39, 0.16) 100%);
}

.kzzin-place-card-media .kzzin-place-fallback,
.kzzin-place-view-hero.is-fallback::before {
  background:
    linear-gradient(135deg, rgba(0, 107, 255, 0.96), rgba(0, 212, 255, 0.88) 42%, rgba(255, 47, 125, 0.9)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.12) 0 8px, transparent 8px 16px);
}

.kzzin-place-chip,
.kzzin-place-tags span {
  border-radius: 999px;
}

.kzzin-place-chip.is-new {
  background: #e8f3ff;
  color: #0057ff;
}

.kzzin-place-chip.is-notice {
  background: #fff0f6;
  color: #d61f69;
}

.kzzin-place-chip.is-video {
  background: #fff4dc;
  color: #a15d00;
}

.kzzin-place-chip.is-context {
  border: 0;
  font-weight: 950;
}

.kzzin-place-chip.is-context.is-stay {
  background: linear-gradient(135deg, rgba(0, 184, 117, 0.16), rgba(0, 212, 255, 0.18));
  color: #006949;
}

.kzzin-place-chip.is-context.is-culture {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.16), rgba(255, 47, 221, 0.14));
  color: #7c2bd9;
}

.kzzin-place-chip.is-context.is-night {
  background: linear-gradient(135deg, #111827, #7c3aed);
  color: #fff;
}

.kzzin-place-badge {
  min-height: 30px;
  border: 0;
  color: #fff;
  box-shadow: 0 10px 22px rgba(10, 31, 68, 0.12);
}

.kzzin-place-badge::before {
  background: rgba(255, 255, 255, 0.86);
}

.kzzin-place-badge.is-info { background: linear-gradient(135deg, #006bff, #00d4ff); color: #fff; }
.kzzin-place-badge.is-todayn { background: linear-gradient(135deg, #7c3aed, #ff2fdd); color: #fff; }
.kzzin-place-badge.is-today { background: linear-gradient(135deg, #ff2f7d, #ff8a00); color: #fff; }
.kzzin-place-badge.is-hometown { background: linear-gradient(135deg, #00b875, #9dff00); color: #061027; }
.kzzin-place-badge.is-master { background: linear-gradient(135deg, #ff9f1c, #facc15); color: #061027; }
.kzzin-place-badge.is-plan { background: linear-gradient(135deg, #111827, #2563eb); color: #fff; }
.kzzin-place-badge.is-baekban { background: linear-gradient(135deg, #f97316, #ef4444); color: #fff; }
.kzzin-place-badge.is-meok { background: linear-gradient(135deg, #ec4899, #f43f5e); color: #fff; }
.kzzin-place-badge.is-again { background: linear-gradient(135deg, #00c2ff, #006bff); color: #fff; }
.kzzin-place-badge.is-spoiler { background: linear-gradient(135deg, #16a34a, #22c55e); color: #061027; }
.kzzin-place-badge.is-global { background: linear-gradient(135deg, #06b6d4, #8b5cf6); color: #fff; }
.kzzin-place-badge.is-tasty { background: linear-gradient(135deg, #f59e0b, #84cc16); color: #061027; }
.kzzin-place-badge.is-dudley { background: linear-gradient(135deg, #111827, #64748b); color: #fff; }
.kzzin-place-badge.is-meat { background: linear-gradient(135deg, #dc2626, #fb7185); color: #fff; }
.kzzin-place-badge.is-yummy { background: linear-gradient(135deg, #14b8a6, #22d3ee); color: #061027; }

.kzzin-place-badge.is-pet {
  background: #ecfdf3;
  color: #087443;
  border-color: #abefc6;
}

.kzzin-place-card h2,
.kzzin-place-feature-body strong {
  color: #08111f;
}

.kzzin-place-empty,
.kzzin-place-search .bo_sch,
.kzzin-place-video,
.kzzin-place-map-link,
.kzzin-place-view-hero,
.kzzin-place-view-content img {
  border-radius: 24px;
}

.kzzin-place-view-hero {
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(6, 16, 39, 0.18);
}

.kzzin-place-view-shade {
  background: linear-gradient(90deg, rgba(6, 16, 39, 0.9), rgba(0, 107, 255, 0.32), rgba(255, 47, 125, 0.12));
}

.kzzin-place-view-hero.is-default-visual .kzzin-place-view-shade {
  background: linear-gradient(90deg, rgba(6, 16, 39, 0.74), rgba(0, 107, 255, 0.28), rgba(255, 47, 125, 0.08));
}

.kzzin-place-view-tags-top a:not(.kzzin-place-badge),
.kzzin-place-view-tags-top span:not(.kzzin-place-badge) {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  color: #e9fbff;
}

.kzzin-place-view-hero h1 {
  font-size: 58px;
  line-height: 1.06;
}

.kzzin-place-view-content {
  color: #263448;
}

.kzzin-place-video {
  border: 0;
  background: linear-gradient(135deg, #061027 0%, #111827 55%, #006bff 100%);
}

.kzzin-place-video-head span {
  color: #9bf2ff;
}

.kzzin-place-map-link {
  background: var(--hot-gradient);
  box-shadow: 0 16px 34px rgba(0, 107, 255, 0.16);
}

.kzzin-place-map-link.is-naver {
  background: linear-gradient(135deg, #00c73c, #02df7f);
  color: #061027 !important;
}

.kzzin-place-map-link.is-kakao {
  background: linear-gradient(135deg, #fee500, #ffb800);
  color: #061027 !important;
}

@media (max-width: 680px) {
  .kzzin-place-list-hero,
  .kzzin-place-view-hero {
    border-radius: 22px;
  }

  .kzzin-place-list-hero h1,
  .kzzin-place-view-hero h1 {
    font-size: 32px;
    line-height: 1.12;
  }

  .kzzin-place-card,
  .kzzin-place-feature-card,
  .kzzin-place-filter-panel,
  .kzzin-place-view-content,
  .kzzin-place-side-stat,
  .kzzin-place-detail-list {
    border-radius: 20px;
  }
}

.kzzin-place-badgebar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 14px;
  padding: 12px;
  border: 0;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.kzzin-place-admin-badgebar {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin-right: auto;
}

.kzzin-place-badgebar > span {
  margin-right: 4px;
  color: #061027;
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-badgebar a,
.kzzin-place-admin-badgebar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  border: 1px solid rgba(0, 107, 255, 0.12);
  border-radius: 999px;
  background: #fff;
  color: #344258;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 900;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.kzzin-place-badgebar a:hover,
.kzzin-place-badgebar a.is-active,
.kzzin-place-admin-badgebar a:hover,
.kzzin-place-admin-badgebar a.is-active {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(10, 31, 68, 0.12);
}

.kzzin-place-badgebar a.is-active:not(.kzzin-place-badge-filter),
.kzzin-place-badgebar a:not(.kzzin-place-badge-filter):hover {
  border-color: transparent;
  background: var(--hot-gradient);
  color: #fff;
}

.kzzin-place-badgebar em,
.kzzin-place-admin-badgebar em {
  font-style: normal;
  font-size: 11px;
  opacity: 0.78;
}

.kzzin-place-badge-filter {
  border: 0 !important;
  color: #fff !important;
}

.kzzin-place-badge-filter.is-info { background: linear-gradient(135deg, #006bff, #00d4ff); }
.kzzin-place-badge-filter.is-today { background: linear-gradient(135deg, #ff2f7d, #ff8a00); }
.kzzin-place-badge-filter.is-master { background: linear-gradient(135deg, #ff9f1c, #facc15); color: #061027 !important; }
.kzzin-place-badge-filter.is-plan { background: linear-gradient(135deg, #111827, #2563eb); }
.kzzin-place-badge-filter.is-baekban { background: linear-gradient(135deg, #f97316, #ef4444); }
.kzzin-place-badge-filter.is-tasty { background: linear-gradient(135deg, #f59e0b, #84cc16); color: #061027 !important; }

.kzzin-place-badge-filter:not(.is-active) {
  filter: saturate(0.9) brightness(1.03);
}

@media (max-width: 680px) {
  .kzzin-place-badgebar {
    border-radius: 20px;
    padding: 10px;
  }

  .kzzin-place-badgebar > span {
    width: 100%;
  }

  .kzzin-place-admin-badgebar {
    order: 3;
    width: 100%;
    margin-right: 0;
  }
}

.kzzin-place-board *,
.kzzin-place-view * {
  box-sizing: border-box;
}

.kzzin-place-board a,
.kzzin-place-view a {
  color: inherit;
  text-decoration: none;
}

.kzzin-place-list-hero,
.kzzin-place-view-hero {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: var(--night);
  color: var(--white);
}

.kzzin-place-list-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: end;
  min-height: 300px;
  padding: clamp(32px, 5vw, 64px);
  background:
    linear-gradient(90deg, rgba(6, 16, 39, 0.96), rgba(6, 16, 39, 0.76)),
    url("https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Evening_street_in_Seongsu-dong.jpg/1280px-Evening_street_in_Seongsu-dong.jpg") center / cover;
}

.kzzin-place-eyebrow {
  display: block;
  margin: 0 0 10px;
  color: #9ad8ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.kzzin-place-list-hero h1,
.kzzin-place-view-hero h1 {
  margin: 0;
  color: var(--white);
  line-height: 1.04;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.kzzin-place-list-hero h1 {
  font-size: clamp(38px, 5vw, 68px);
}

.kzzin-place-list-hero p,
.kzzin-place-view-hero p {
  max-width: 780px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 16px;
  line-height: 1.8;
}

.kzzin-place-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.kzzin-place-stat-grid span,
.kzzin-place-side-stat,
.kzzin-place-detail-list,
.kzzin-place-asset-box,
.kzzin-place-neighbor a {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.kzzin-place-stat-grid span {
  display: block;
  padding: 18px;
}

.kzzin-place-stat-grid strong {
  display: block;
  color: var(--night);
  font-size: 32px;
  line-height: 1;
}

.kzzin-place-stat-grid em {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.kzzin-place-toolbar,
.kzzin-place-view-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin: 22px 0;
}

.kzzin-place-total {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
}

.kzzin-place-total strong {
  color: var(--ink);
}

.kzzin-place-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.kzzin-place-btn,
.kzzin-place-adminbar button,
.kzzin-place-search button,
.kzzin-place-react a,
.kzzin-place-react span,
.kzzin-place-view-admin a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: var(--ink);
  padding: 0 12px;
  cursor: pointer;
  font-weight: 900;
}

.kzzin-place-btn:hover,
.kzzin-place-adminbar button:hover,
.kzzin-place-view-admin a:hover {
  border-color: var(--blue);
}

.kzzin-place-btn.is-primary {
  border-color: var(--night);
  background: var(--night);
  color: var(--white);
}

.kzzin-place-cate {
  margin: 0 0 20px;
}

.kzzin-place-cate ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kzzin-place-cate li {
  margin: 0;
}

.kzzin-place-cate a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: #3e4b5f;
  font-weight: 900;
}

.kzzin-place-cate #bo_cate_on,
.kzzin-place-cate a:hover {
  border-color: var(--blue);
  background: #eef4ff;
  color: var(--blue);
}

.kzzin-place-filter-panel {
  display: grid;
  gap: 12px;
  margin: 0 0 20px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-place-filter-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.kzzin-place-filter-row > strong {
  padding-top: 9px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-filter-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.kzzin-place-filter-row a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: #3e4b5f;
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-filter-row a:hover,
.kzzin-place-filter-row a.is-active {
  border-color: var(--blue);
  background: #eef4ff;
  color: var(--blue);
}

.kzzin-place-filter-row em {
  color: #7a889b;
  font-style: normal;
  font-size: 11px;
}

.kzzin-place-sortbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin: -8px 0 18px;
}

.kzzin-place-sortbar a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: #344258;
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-sortbar a:hover,
.kzzin-place-sortbar a.is-active {
  border-color: var(--night);
  background: var(--night);
  color: var(--white);
}

.kzzin-place-context {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  margin: -2px 0 22px;
  padding: 20px;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: var(--hot-gradient);
  color: var(--white);
  box-shadow: 0 24px 64px rgba(0, 107, 255, 0.18);
}

.kzzin-place-context.is-food {
  background: var(--food-gradient);
}

.kzzin-place-context.is-tourism {
  background: linear-gradient(135deg, #006bff 0%, #7c3aed 52%, #ff2f7d 100%);
}

.kzzin-place-context.is-image {
  background: linear-gradient(135deg, #061027 0%, #006bff 48%, #00d4ff 100%);
}

.kzzin-place-context.is-category {
  background: linear-gradient(135deg, #00b875 0%, #006bff 52%, #00d4ff 100%);
}

.kzzin-place-context.is-hipstreet {
  background: linear-gradient(135deg, #ff3b7f 0%, #7c3aed 48%, #006bff 100%);
}

.kzzin-place-context.is-dulle20 {
  background: linear-gradient(135deg, #00b875 0%, #00a6ff 48%, #7c3aed 100%);
}

.kzzin-place-context-main {
  min-width: 0;
}

.kzzin-place-context-main span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #061027;
  font-size: 12px;
  font-weight: 900;
}

.kzzin-place-context-main strong {
  display: block;
  margin-top: 10px;
  font-size: clamp(21px, 2.4vw, 30px);
  line-height: 1.25;
  font-weight: 900;
  word-break: keep-all;
}

.kzzin-place-context-main p {
  max-width: 720px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  line-height: 1.7;
  word-break: keep-all;
}

.kzzin-place-context-side {
  display: grid;
  gap: 10px;
  justify-items: end;
  flex: 0 0 auto;
}

.kzzin-place-context-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.kzzin-place-context-chips em,
.kzzin-place-context-side a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.kzzin-place-context-side a {
  background: rgba(255, 255, 255, 0.92);
  color: #061027;
  transition: transform 160ms ease, background 160ms ease;
}

.kzzin-place-context-side a:hover {
  transform: translateY(-1px);
  background: #fff;
}

.kzzin-place-hub-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.kzzin-place-hub-action {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.kzzin-place-hub-action:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 14px 34px rgba(6, 16, 39, 0.18);
}

.kzzin-place-hub-action i {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  color: #061027;
  font-size: 15px;
}

.kzzin-place-hub-action span {
  min-width: 0;
}

.kzzin-place-hub-action strong,
.kzzin-place-hub-action em {
  display: block;
  word-break: keep-all;
}

.kzzin-place-hub-action strong {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 900;
}

.kzzin-place-hub-action em {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  line-height: 1.35;
  font-style: normal;
  font-weight: 700;
}

.kzzin-place-badge-landing {
  --program-a: #006bff;
  --program-b: #ff2f7d;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
  gap: clamp(16px, 2.4vw, 26px);
  align-items: stretch;
  margin: 0 0 24px;
  padding: clamp(20px, 3vw, 34px);
  overflow: hidden;
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--program-b) 36%, transparent), transparent 34%),
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--program-a) 42%, transparent), transparent 36%),
    linear-gradient(135deg, #071024 0%, color-mix(in srgb, var(--program-a) 62%, #071024) 48%, color-mix(in srgb, var(--program-b) 66%, #071024) 100%);
  color: #fff;
  box-shadow: 0 30px 80px rgba(6, 16, 39, 0.22);
}

.kzzin-place-badge-landing.is-plan { --program-a: #2563eb; --program-b: #ff45c8; }
.kzzin-place-badge-landing.is-baekban { --program-a: #f97316; --program-b: #ef4444; }
.kzzin-place-badge-landing.is-info { --program-a: #006bff; --program-b: #00e5ff; }
.kzzin-place-badge-landing.is-today { --program-a: #ff2f7d; --program-b: #ff8a00; }
.kzzin-place-badge-landing.is-master { --program-a: #ff8a3d; --program-b: #facc15; }
.kzzin-place-badge-landing.is-tasty { --program-a: #a78bfa; --program-b: #84cc16; }

.kzzin-place-badge-landing-main {
  min-width: 0;
}

.kzzin-place-badge-landing-main .kzzin-place-eyebrow {
  display: inline-flex;
  min-height: 32px;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #061027;
}

.kzzin-place-badge-landing-main h2 {
  max-width: 820px;
  margin: 16px 0 0;
  color: #fff;
  font-size: clamp(32px, 4.2vw, 58px);
  font-weight: 950;
  line-height: 1.02;
  letter-spacing: 0;
  word-break: keep-all;
}

.kzzin-place-badge-landing-main > strong {
  display: block;
  max-width: 760px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.96);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 950;
  line-height: 1.34;
  word-break: keep-all;
}

.kzzin-place-badge-landing-main > p {
  max-width: 760px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.75;
  word-break: keep-all;
}

.kzzin-place-badge-landing-tags,
.kzzin-place-badge-landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.kzzin-place-badge-landing-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.kzzin-place-badge-landing-actions a,
.kzzin-place-badge-landing-single {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #061027;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.kzzin-place-badge-landing-actions a:hover,
.kzzin-place-badge-landing-single:hover {
  transform: translateY(-2px);
  background: #fff;
  color: var(--program-a);
}

.kzzin-place-badge-landing-side {
  display: grid;
  align-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: clamp(15px, 2vw, 20px);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(12px);
}

.kzzin-place-badge-landing-pill {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--program-a), var(--program-b));
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 12px 30px rgba(6, 16, 39, 0.22);
}

.kzzin-place-badge-landing-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.kzzin-place-badge-landing-stats span {
  min-width: 0;
  padding: 13px 10px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.14);
  text-align: center;
}

.kzzin-place-badge-landing-stats strong {
  display: block;
  color: #fff;
  font-size: clamp(20px, 2.6vw, 30px);
  font-weight: 950;
  line-height: 1;
}

.kzzin-place-badge-landing-stats em {
  display: block;
  margin-top: 7px;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.76);
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-badge-landing-videos {
  display: grid;
  gap: 9px;
}

.kzzin-place-badge-landing-videos a {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 8px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease;
}

.kzzin-place-badge-landing-videos a:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.kzzin-place-badge-landing-videos img {
  display: block;
  width: 92px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
  background: #061027;
}

.kzzin-place-badge-landing-videos span {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.42;
  word-break: keep-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.kzzin-place-badge-landing-videos i {
  margin-right: 7px;
  color: var(--program-b);
}

.kzzin-place-featured {
  margin: 24px 0 22px;
}

.kzzin-place-featured-head {
  margin-bottom: 12px;
}

.kzzin-place-featured-head .kzzin-place-eyebrow {
  margin: 0;
  color: var(--blue);
}

.kzzin-place-featured-head h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 900;
}

.kzzin-place-featured-head > span {
  display: block;
  max-width: 720px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
  font-weight: 450;
  word-break: keep-all;
}

.kzzin-place-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.kzzin-place-feature-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 14px 38px rgba(7, 17, 31, 0.1);
}

.kzzin-place-feature-card:hover {
  border-color: var(--blue);
}

.kzzin-place-feature-media {
  position: relative;
  display: block;
  height: 168px;
  overflow: hidden;
  background: #e9eef5;
}

.kzzin-place-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease, filter 220ms ease;
}

.kzzin-place-feature-card:hover .kzzin-place-feature-media img {
  transform: scale(1.025);
}

.kzzin-place-feature-media em {
  position: absolute;
  top: 10px;
  left: 10px;
  border-radius: 8px;
  background: rgba(6, 16, 39, 0.92);
  color: var(--white);
  padding: 7px 9px;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}

.kzzin-place-feature-body {
  display: grid;
  gap: 7px;
  padding: 14px;
}

.kzzin-place-feature-body small {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.kzzin-place-feature-body strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.kzzin-place-feature-body span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.kzzin-place-feature-body .kzzin-place-feature-pet-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid #abefc6;
  border-radius: 999px;
  background: #ecfdf3;
  color: #087443;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.kzzin-place-feature-body .kzzin-place-feature-pet-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.72;
}

.kzzin-place-adminbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-place-check-all {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-right: auto;
  font-weight: 900;
}

.kzzin-place-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kzzin-place-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.kzzin-place-card:hover {
  border-color: var(--blue);
}

.kzzin-place-card-check {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
}

.kzzin-place-card-media {
  position: relative;
  display: block;
  height: 220px;
  overflow: hidden;
  background: #eef3f8;
}

.kzzin-place-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 220ms ease, filter 220ms ease;
}

.kzzin-place-card:hover .kzzin-place-card-media img {
  transform: scale(1.025);
}

.kzzin-place-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 16, 39, 0) 48%, rgba(6, 16, 39, 0.18) 100%);
}

.kzzin-place-card-media.is-default-visual img {
  object-fit: cover;
  filter: saturate(1.04) contrast(1.02);
}

.kzzin-place-card-media .kzzin-place-fallback,
.kzzin-place-view-hero.is-fallback::before {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(36, 88, 219, 0.96), rgba(13, 153, 178, 0.88)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.08) 0 8px, transparent 8px 16px);
  color: var(--white);
}

.kzzin-place-card-media .kzzin-place-fallback {
  position: absolute;
  inset: 0;
  font-size: 32px;
}

.kzzin-place-card-media img + .kzzin-place-fallback {
  display: none;
}

.kzzin-place-card-media.is-fallback .kzzin-place-fallback {
  display: grid;
}

.kzzin-place-card-media em {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  padding: 7px 9px;
  border-radius: 8px;
  background: rgba(6, 16, 39, 0.92);
  color: var(--white);
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}

.kzzin-place-rating-star-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding-top: 0;
  background: transparent;
  color: #ffe21a;
  filter: none;
  pointer-events: none;
}

.kzzin-place-rating-star-badge::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #4166f5;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M50 6 C54 6 58 9 61 14 L69 31 C70 34 73 36 77 36 L92 39 C98 40 101 47 97 52 L85 65 C83 68 82 71 83 75 L86 90 C87 96 81 101 75 98 L58 88 C55 86 52 86 49 88 L32 98 C26 101 20 96 21 90 L24 74 C25 71 24 68 21 65 L8 52 C3 47 6 40 13 39 L29 36 C32 36 35 34 36 31 L44 14 C46 9 46 6 50 6 Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='M50 6 C54 6 58 9 61 14 L69 31 C70 34 73 36 77 36 L92 39 C98 40 101 47 97 52 L85 65 C83 68 82 71 83 75 L86 90 C87 96 81 101 75 98 L58 88 C55 86 52 86 49 88 L32 98 C26 101 20 96 21 90 L24 74 C25 71 24 68 21 65 L8 52 C3 47 6 40 13 39 L29 36 C32 36 35 34 36 31 L44 14 C46 9 46 6 50 6 Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kzzin-place-rating-star-badge b {
  position: relative;
  z-index: 1;
  display: block;
  width: 32px;
  color: #ffe21a;
  font-size: 13px;
  font-weight: 950;
  line-height: 0.95;
  text-align: center;
  letter-spacing: 0;
  transform: translateY(1px);
  text-shadow: none;
}

.kzzin-place-card-body {
  padding: 18px;
}

.kzzin-place-card-top,
.kzzin-place-badges,
.kzzin-place-tags,
.kzzin-place-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.kzzin-place-chip,
.kzzin-place-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 8px;
  background: #eff4f7;
  color: #516070;
  font-size: 12px;
  font-weight: 900;
}

.kzzin-place-chip.is-new {
  background: #eef4ff;
  color: var(--blue);
}

.kzzin-place-chip.is-notice {
  background: #fff0ed;
  color: var(--coral);
}

.kzzin-place-chip.is-video {
  background: #fff7ed;
  color: #a55318;
}

.kzzin-place-chip.is-context {
  border: 0;
  font-weight: 950;
}

.kzzin-place-chip.is-context.is-stay {
  background: linear-gradient(135deg, rgba(0, 184, 117, 0.16), rgba(0, 212, 255, 0.18));
  color: #006949;
}

.kzzin-place-chip.is-context.is-culture {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.16), rgba(255, 47, 221, 0.14));
  color: #7c2bd9;
}

.kzzin-place-chip.is-context.is-night {
  background: linear-gradient(135deg, #111827, #7c3aed);
  color: #fff;
}

.kzzin-place-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #d4dde8;
  border-radius: 999px;
  background: #f6f8fb;
  color: #344054;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.kzzin-place-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.72;
}

.kzzin-place-badge.is-info { background: #eef6ff; color: #1f5f9f; border-color: #c9def7; }
.kzzin-place-badge.is-todayn { background: #f4f0ff; color: #6d4bb7; border-color: #ddd2fb; }
.kzzin-place-badge.is-today { background: #fff2ed; color: #a24f34; border-color: #f1d2c5; }
.kzzin-place-badge.is-hometown { background: #eef8f2; color: #2f7a50; border-color: #c9e7d4; }
.kzzin-place-badge.is-master { background: #fff8e5; color: #8a6418; border-color: #eddcaa; }
.kzzin-place-badge.is-plan { background: #eff6f5; color: #22766f; border-color: #c8e0dd; }
.kzzin-place-badge.is-baekban { background: #f8f1e9; color: #8a5a2b; border-color: #e7d4bd; }
.kzzin-place-badge.is-meok { background: #f7eef2; color: #9a4161; border-color: #e7cbd6; }
.kzzin-place-badge.is-again { background: #eef5ff; color: #345e9f; border-color: #cdddf5; }
.kzzin-place-badge.is-spoiler { background: #f0f4ea; color: #5d7223; border-color: #d7e2c2; }
.kzzin-place-badge.is-global { background: #eef4f8; color: #35657f; border-color: #cbdde8; }
.kzzin-place-badge.is-tasty { background: #f1f4ea; color: #5e6f22; border-color: #d9e1c3; }
.kzzin-place-badge.is-dudley { background: #f2f2f2; color: #555; border-color: #dbdbdb; }
.kzzin-place-badge.is-meat { background: #fff0f0; color: #a43f3f; border-color: #efcdcd; }
.kzzin-place-badge.is-yummy { background: #eef8f7; color: #27766f; border-color: #c9e4e1; }

.kzzin-place-card h2 {
  margin: 12px 0 8px;
  color: var(--ink);
  font-size: 25px;
  line-height: 1.18;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.kzzin-place-card p {
  min-height: 74px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.kzzin-place-info {
  display: grid;
  gap: 6px;
  margin: 14px 0;
}

.kzzin-place-info div,
.kzzin-place-detail-list div {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;
}

.kzzin-place-info dt,
.kzzin-place-detail-list dt {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.kzzin-place-info dd,
.kzzin-place-detail-list dd {
  margin: 0;
  color: #465365;
}

.kzzin-place-card-facts {
  display: grid;
  gap: 7px;
  margin: 12px 0 4px;
  padding: 11px 12px;
  border: 1px solid #d9e7ff;
  border-radius: 8px;
  background: linear-gradient(135deg, #f8fbff, #eef6ff);
}

.kzzin-place-card-facts span {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 9px;
  align-items: baseline;
  min-width: 0;
  color: #172033;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.kzzin-place-card-facts b {
  color: var(--blue);
  font-size: 11px;
  font-weight: 950;
}

.kzzin-place-meta {
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-open {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  color: var(--blue);
  font-weight: 900;
}

.kzzin-place-empty {
  grid-column: 1 / -1;
  padding: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: var(--muted);
  text-align: center;
}

.kzzin-place-feed-video {
  margin: 26px 0 18px;
  padding: clamp(18px, 2.6vw, 26px);
  border: 1px solid rgba(6, 16, 39, 0.1);
  border-radius: 16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 47, 125, 0.12), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(0, 107, 255, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff, #f7fbff);
}

.kzzin-place-feed-video-head {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.kzzin-place-feed-video-head span {
  color: #006bff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
}

.kzzin-place-feed-video-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
}

.kzzin-place-feed-video-head p {
  max-width: 760px;
  margin: 0;
  color: #536173;
  font-size: 15px;
  line-height: 1.7;
  word-break: keep-all;
}

.kzzin-place-feed-video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kzzin-place-feed-video-card {
  overflow: hidden;
  border: 1px solid rgba(6, 16, 39, 0.1);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.kzzin-place-feed-video-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 107, 255, 0.35);
  box-shadow: 0 14px 30px rgba(6, 16, 39, 0.1);
}

.kzzin-place-feed-video-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #061027;
}

.kzzin-place-feed-video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.94;
  transition: transform 220ms ease;
}

.kzzin-place-feed-video-card:hover .kzzin-place-feed-video-thumb img {
  transform: scale(1.035);
}

.kzzin-place-feed-video-thumb em {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff2f7d, #006bff);
  color: #fff;
  font-style: normal;
  box-shadow: 0 10px 22px rgba(6, 16, 39, 0.2);
}

.kzzin-place-feed-video-body {
  display: grid;
  gap: 8px;
  padding: 13px 14px 15px;
}

.kzzin-place-feed-video-body strong {
  display: -webkit-box;
  min-height: 42px;
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.4;
  word-break: keep-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.kzzin-place-feed-video-body small {
  display: block;
  overflow: hidden;
  color: #667085;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-search {
  display: none;
}

.kzzin-place-search .bo_sch {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1001;
  width: min(620px, calc(100vw - 32px));
  transform: translate(-50%, -50%);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  padding: 22px;
  box-shadow: var(--shadow);
}

.kzzin-place-search .bo_sch form {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto auto;
  gap: 8px;
}

.kzzin-place-search h3 {
  margin: 0 0 14px;
  font-size: 22px;
}

.kzzin-place-search input,
.kzzin-place-search select {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
}

.kzzin-place-search .bo_sch_bg {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(6, 16, 39, 0.58);
}

.kzzin-place-board .pg_wrap {
  margin: 28px 0 0;
}

.kzzin-place-view-hero {
  min-height: 460px;
}

.kzzin-place-view-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kzzin-place-view-hero.is-default-visual > img {
  filter: saturate(1.05) contrast(1.02);
}

.kzzin-place-view-hero.is-fallback::before {
  content: "\f3c5";
  position: absolute;
  inset: 0;
  font-family: "FontAwesome";
  justify-items: end;
  padding-right: 16%;
  color: rgba(255, 255, 255, 0.22);
  font-size: 132px;
}

.kzzin-place-view-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 16, 39, 0.9), rgba(6, 16, 39, 0.34));
}

.kzzin-place-view-hero.is-default-visual .kzzin-place-view-shade {
  background: linear-gradient(90deg, rgba(6, 16, 39, 0.76), rgba(6, 16, 39, 0.16));
}

.kzzin-place-view-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: end;
  min-height: 460px;
  padding: clamp(32px, 6vw, 72px);
}

.kzzin-place-view-tags-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.kzzin-place-view-tags-top a:not(.kzzin-place-badge),
.kzzin-place-view-tags-top span:not(.kzzin-place-badge) {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.16);
  color: #d7f0ff;
  font-weight: 900;
}

.kzzin-place-view-hero h1 {
  max-width: 940px;
  font-size: clamp(38px, 5vw, 70px);
}

.kzzin-place-view-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-weight: 900;
}

.kzzin-place-view-admin {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
  margin: -10px 0 22px;
}

.kzzin-place-view-admin.is-open {
  display: flex;
}

.kzzin-place-view-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
}

.kzzin-place-view-main,
.kzzin-place-view-side {
  min-width: 0;
}

#bo_v_atc_title {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
}

#bo_v_share {
  margin-bottom: 18px;
}

.kzzin-place-sharebar {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
}

.kzzin-place-sharebar a,
.kzzin-place-sharebar button {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: #fff;
  color: #111827;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  text-decoration: none;
}

.kzzin-place-sharebar svg {
  width: 15px;
  height: 15px;
  display: block;
}

.kzzin-place-sharebar .is-instagram {
  background: linear-gradient(135deg, #833ab4, #fd1d1d 55%, #fcb045);
  color: #fff;
}

.kzzin-place-sharebar .is-instagram svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
}

.kzzin-place-sharebar .is-kakao {
  background: #fee500;
  color: #191600;
}

.kzzin-place-sharebar .is-twitter {
  background: #111827;
  color: #fff;
}

.kzzin-place-sharebar .is-facebook {
  background: #1877f2;
  color: #fff;
}

.kzzin-place-sharebar .is-kakao svg,
.kzzin-place-sharebar .is-twitter svg,
.kzzin-place-sharebar .is-facebook svg {
  fill: currentColor;
}

.kzzin-place-sharebar a:hover,
.kzzin-place-sharebar button:hover {
  transform: translateY(-1px);
}

.kzzin-place-view-content {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  padding: clamp(20px, 3vw, 34px);
  box-shadow: var(--shadow);
  color: #263448;
  font-size: 16px;
  line-height: 1.9;
}

.kzzin-place-video {
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid rgba(6, 16, 39, 0.18);
  border-radius: 8px;
  background: #050b18;
  box-shadow: var(--shadow);
}

.kzzin-place-video-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  color: var(--white);
}

.kzzin-place-video-head span {
  color: #9ad8ff;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.kzzin-place-video-head strong {
  color: var(--white);
  font-size: 15px;
}

.kzzin-place-video-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.kzzin-place-video-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.kzzin-place-video-thumb:hover img {
  transform: scale(1.02);
  opacity: 1;
}

.kzzin-place-video-thumb span {
  position: absolute;
  left: 16px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #061027;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
}

.kzzin-place-video-frame {
  aspect-ratio: 16 / 9;
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.kzzin-place-video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.kzzin-place-video-source {
  margin: 0;
  padding: 10px 16px 13px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.kzzin-place-view-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.kzzin-place-editorial {
  display: grid;
  gap: 22px;
}

.kzzin-place-editorial-lead {
  margin: 0;
  color: #0f1e33;
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 850;
  line-height: 1.55;
  letter-spacing: 0;
  word-break: keep-all;
}

.kzzin-place-editorial-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kzzin-place-editorial-facts span {
  display: grid;
  gap: 5px;
  min-height: 74px;
  padding: 14px 16px;
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff, #ffffff);
  color: #344054;
  font-size: 14px;
  line-height: 1.45;
  word-break: keep-all;
}

.kzzin-place-editorial-facts b {
  color: #0067ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
}

.kzzin-place-depth-card {
  display: grid;
  gap: 20px;
  padding: clamp(18px, 2.5vw, 28px);
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.kzzin-place-depth-head {
  display: grid;
  gap: 8px;
}

.kzzin-place-depth-head span {
  color: #0067ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.kzzin-place-depth-head b {
  color: #0f57d7;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}

.kzzin-place-depth-head h2 {
  margin: 0;
  color: #07162b;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
  word-break: keep-all;
}

.kzzin-place-depth-head p {
  margin: 0;
  max-width: 860px;
  color: #26364d;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.65;
  word-break: keep-all;
}

.kzzin-place-depth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kzzin-place-depth-block {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-place-depth-block h3 {
  margin: 0;
  color: #07162b;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.25;
  letter-spacing: 0;
}

.kzzin-place-reason-list,
.kzzin-place-course-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kzzin-place-reason-list li,
.kzzin-place-course-list li {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border-radius: 8px;
  background: #fff;
}

.kzzin-place-reason-list b,
.kzzin-place-course-list b {
  color: #0067ff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.kzzin-place-reason-list span,
.kzzin-place-course-list span {
  color: #344054;
  font-size: 14px;
  line-height: 1.62;
  word-break: keep-all;
}

.kzzin-place-menu-table {
  display: grid;
  gap: 9px;
}

.kzzin-place-menu-table div {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(92px, auto) minmax(0, 1.6fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border-radius: 8px;
  background: #fff;
}

.kzzin-place-menu-table strong {
  color: #07162b;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
}

.kzzin-place-menu-table em {
  color: #0f57d7;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.4;
  white-space: nowrap;
}

.kzzin-place-menu-table span {
  color: #475467;
  font-size: 13px;
  line-height: 1.58;
  word-break: keep-all;
}

.kzzin-place-depth-empty {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.6;
}

.kzzin-place-check-list {
  display: grid;
  gap: 9px;
  margin: 0;
}

.kzzin-place-check-list div {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 12px;
  border-radius: 8px;
  background: #fff;
}

.kzzin-place-check-list dt {
  color: #0067ff;
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-check-list dd {
  margin: 0;
  color: #344054;
  font-size: 14px;
  line-height: 1.6;
  word-break: keep-all;
}

.kzzin-place-map-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kzzin-place-map-links a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(0, 103, 255, 0.18);
  border-radius: 8px;
  background: #fff;
  color: #0f57d7;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.kzzin-place-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kzzin-place-editorial-section {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  padding: 20px;
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(243, 248, 255, 0.95)),
    radial-gradient(circle at 0 0, rgba(0, 103, 255, 0.16), transparent 36%);
}

.kzzin-place-editorial-section::before {
  content: "";
  display: block;
  width: 38px;
  height: 4px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0067ff, #f608a8);
}

.kzzin-place-editorial-section h3 {
  margin: 0 0 10px;
  color: #07162b;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.28;
  letter-spacing: 0;
}

.kzzin-place-editorial-section p {
  margin: 0;
  color: #405067;
  font-size: 15px;
  line-height: 1.78;
  word-break: keep-all;
}

.kzzin-place-ai-review-summary {
  position: relative;
  display: grid;
  gap: 16px;
  padding: clamp(20px, 2.4vw, 28px);
  border: 1px solid rgba(0, 136, 110, 0.18);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(255, 255, 255, 0.98)),
    radial-gradient(circle at 100% 0, rgba(0, 103, 255, 0.13), transparent 34%);
  box-shadow: 0 18px 42px rgba(6, 16, 39, 0.08);
}

.kzzin-place-ai-review-summary::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: 22px 0 0 22px;
  background: linear-gradient(180deg, #00a884, #0067ff);
}

.kzzin-place-ai-review-head {
  display: grid;
  gap: 8px;
}

.kzzin-place-ai-review-head span {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0, 168, 132, 0.12);
  color: #007a65;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.kzzin-place-ai-review-head h3 {
  margin: 0;
  color: #07162b;
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: 0;
}

.kzzin-place-ai-review-body {
  display: grid;
  gap: 12px;
}

.kzzin-place-ai-review-body p {
  margin: 0;
  color: #243247;
  font-size: 16px;
  line-height: 1.82;
  word-break: keep-all;
}

.kzzin-place-enrichment-panel {
  display: grid;
  gap: 14px;
  padding: clamp(16px, 2.2vw, 22px);
  border: 1px solid rgba(0, 103, 255, 0.16);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98)),
    linear-gradient(90deg, rgba(0, 103, 255, 0.08), rgba(246, 8, 168, 0.06));
  box-shadow: 0 14px 32px rgba(6, 16, 39, 0.06);
}

.kzzin-place-enrichment-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: baseline;
  justify-content: space-between;
  min-width: 0;
}

.kzzin-place-enrichment-head span {
  color: #0067ff;
  font-size: 11px;
  font-weight: 950;
}

.kzzin-place-enrichment-head strong {
  color: #07162b;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 950;
  line-height: 1.22;
  word-break: keep-all;
}

.kzzin-place-enrichment-summary {
  margin: 0;
  color: #243449;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.72;
  word-break: keep-all;
}

.kzzin-place-enrichment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.kzzin-place-enrichment-grid section {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 14px;
  background: #fff;
}

.kzzin-place-enrichment-grid h3 {
  margin: 0 0 10px;
  color: #0067ff;
  font-size: 12px;
  font-weight: 950;
}

.kzzin-place-enrichment-grid ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kzzin-place-enrichment-grid li {
  position: relative;
  min-width: 0;
  padding-left: 13px;
  color: #1d2939;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.kzzin-place-enrichment-grid li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #0067ff;
}

.kzzin-place-public-data {
  grid-column: 1 / -1;
}

.kzzin-place-public-data li {
  display: grid;
  gap: 5px;
  font-weight: 650;
  line-height: 1.68;
}

.kzzin-place-public-data li b {
  color: #0f1e33;
  font-size: 13px;
  font-weight: 950;
}

.kzzin-place-public-data li span {
  color: #334155;
  font-weight: 650;
}

.kzzin-place-guide-blocks {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: clamp(18px, 2.6vw, 30px);
  border: 1px solid rgba(15, 30, 51, 0.09);
  border-radius: 8px;
  background: #f6f8fb;
}

.kzzin-place-guide-head {
  display: grid;
  gap: 8px;
  max-width: 920px;
}

.kzzin-place-guide-head span,
.kzzin-place-content-block-head span {
  color: #0067ff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
}

.kzzin-place-guide-head h2 {
  margin: 0;
  color: #07162b;
  font-size: clamp(24px, 2.8vw, 34px);
  font-weight: 950;
  line-height: 1.18;
  letter-spacing: 0;
  word-break: keep-all;
}

.kzzin-place-guide-head p {
  margin: 0;
  color: #354258;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.68;
  word-break: keep-all;
}

.kzzin-place-guide-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kzzin-place-content-block {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.kzzin-place-content-block.is-menu_story,
.kzzin-place-content-block.is-nearby_course {
  grid-column: span 2;
}

.kzzin-place-content-block-head {
  display: grid;
  gap: 7px;
}

.kzzin-place-content-block-head h3 {
  margin: 0;
  color: #07162b;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 950;
  line-height: 1.25;
  letter-spacing: 0;
  word-break: keep-all;
}

.kzzin-place-content-block-head p {
  margin: 0;
  color: #2f3d52;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.7;
  word-break: keep-all;
}

.kzzin-place-block-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kzzin-place-block-list li {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(15, 30, 51, 0.07);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-place-block-list b,
.kzzin-place-check-deep dt {
  color: #0f57d7;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}

.kzzin-place-block-list span,
.kzzin-place-check-deep dd,
.kzzin-place-block-note span {
  color: #344054;
  font-size: 14px;
  line-height: 1.62;
  word-break: keep-all;
}

.kzzin-place-menu-deep-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kzzin-place-menu-deep-item {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(15, 30, 51, 0.08);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-place-menu-deep-item strong {
  color: #07162b;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
  word-break: keep-all;
}

.kzzin-place-menu-deep-item em {
  color: #d44719;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.35;
}

.kzzin-place-menu-deep-item span {
  color: #475467;
  font-size: 13px;
  line-height: 1.58;
  word-break: keep-all;
}

.kzzin-place-block-note {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 13px 14px;
  border-radius: 8px;
  background: #fff7ed;
}

.kzzin-place-block-note b {
  color: #b93815;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}

.kzzin-place-check-deep {
  display: grid;
  gap: 10px;
  margin: 0;
}

.kzzin-place-check-deep div {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(15, 30, 51, 0.07);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-place-check-deep dd {
  margin: 0;
}

.kzzin-place-block-maplinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kzzin-place-block-maplinks a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(0, 103, 255, 0.2);
  border-radius: 8px;
  background: #f8fbff;
  color: #0f57d7;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.kzzin-place-course-deep-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kzzin-place-course-deep-card {
  display: grid;
  gap: 7px;
  min-height: 116px;
  padding: 14px;
  border: 1px solid var(--course-border, rgba(15, 30, 51, 0.08));
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, var(--course-soft, #f8fafc) 100%);
  color: inherit;
  text-decoration: none;
}

.kzzin-place-course-deep-card span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--course-soft, #eef4ff);
  color: var(--course-accent, #0f57d7);
  font-size: 12px;
  font-weight: 950;
  line-height: 1.3;
}

.kzzin-place-course-deep-card span i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--course-accent, #0f57d7);
  color: #fff;
  font-size: 9px;
  line-height: 1;
  flex: 0 0 auto;
}

.kzzin-place-course-deep-card small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid var(--course-border, #d7e4ff);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.kzzin-place-course-deep-card small::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--course-accent, #0f57d7);
  flex: 0 0 auto;
}

.kzzin-place-course-deep-card .kzzin-place-course-deep-move {
  border-color: transparent;
  background: #111827;
  color: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.kzzin-place-course-deep-card .kzzin-place-course-deep-move::before {
  background: #7dd3fc;
}

.kzzin-place-course-deep-card strong {
  color: #07162b;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.35;
  word-break: keep-all;
}

.kzzin-place-course-deep-card em {
  align-self: end;
  color: #667085;
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.35;
}

@media (max-width: 680px) {
  .kzzin-place-guide-blocks {
    padding: 16px;
  }

  .kzzin-place-guide-grid,
  .kzzin-place-menu-deep-grid,
  .kzzin-place-course-deep-grid {
    grid-template-columns: 1fr;
  }

  .kzzin-place-content-block.is-menu_story,
  .kzzin-place-content-block.is-nearby_course {
    grid-column: auto;
  }

  .kzzin-place-block-list li,
  .kzzin-place-block-note,
  .kzzin-place-check-deep div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .kzzin-place-course-deep-card {
    min-height: 0;
  }
}

.kzzin-place-editorial-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 2px;
}

.kzzin-place-editorial-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 0 11px;
  border-radius: 999px;
  background: #eef4ff;
  color: #2458db;
  font-size: 12px;
  font-weight: 900;
}

.kzzin-place-grounded-body {
  display: grid;
  gap: 18px;
  max-width: 920px;
  color: #1d2939;
}

.kzzin-place-grounded-body h2 {
  margin: 0;
  color: #07162b;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 950;
  line-height: 1.16;
  letter-spacing: 0;
  word-break: keep-all;
}

.kzzin-place-grounded-body h3 {
  margin: 10px 0 0;
  color: #0f57d7;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: 0;
}

.kzzin-place-grounded-body p,
.kzzin-place-grounded-body li {
  color: #344054;
  font-size: 16px;
  line-height: 1.78;
  word-break: keep-all;
}

.kzzin-place-grounded-summary {
  margin: 0;
  color: #172033 !important;
  font-size: 19px !important;
  font-weight: 850;
  line-height: 1.72 !important;
}

.kzzin-place-grounded-body ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
}

.kzzin-place-grounded-body strong {
  color: #07162b;
  font-weight: 950;
}

.kzzin-place-grounded-menu em {
  margin-left: 6px;
  color: #d44719;
  font-style: normal;
  font-weight: 950;
}

.kzzin-place-grounded-menu span {
  display: block;
  margin-top: 3px;
  color: #475467;
  font-size: 14px;
  line-height: 1.62;
}

.kzzin-place-grounded-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.kzzin-place-grounded-links a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(0, 103, 255, 0.18);
  border-radius: 8px;
  background: #f8fbff;
  color: #0f57d7;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.kzzin-place-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 2px;
}

.kzzin-place-review-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 128px;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(6, 16, 39, 0.12);
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.kzzin-place-review-button span {
  white-space: nowrap;
}

.kzzin-place-review-button:hover,
.kzzin-place-review-button:focus {
  transform: translateY(-2px);
  box-shadow: 0 20px 36px rgba(6, 16, 39, 0.16);
  filter: saturate(1.06);
}

.kzzin-place-review-button.is-naver {
  background: linear-gradient(135deg, #03c75a, #00df7f);
  color: #061027;
}

.kzzin-place-review-button.is-kakao {
  background: linear-gradient(135deg, #fee500, #ffb800);
  color: #061027;
}

.kzzin-place-review-button.is-representative {
  box-shadow: 0 16px 30px rgba(6, 16, 39, 0.16), 0 0 0 3px rgba(36, 88, 219, 0.14);
}

.kzzin-place-review-button.is-google {
  background: linear-gradient(135deg, #4285f4, #34a853 48%, #fbbc05);
}

body.kzzin-place-review-lock {
  overflow: hidden;
}

.kzzin-place-review-modal[hidden] {
  display: none;
}

.kzzin-place-review-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 28px);
}

.kzzin-place-review-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 16, 39, 0.68);
  backdrop-filter: blur(8px);
}

.kzzin-place-review-dialog {
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(360px, 1fr) auto;
  width: min(1040px, 100%);
  height: min(820px, 92vh);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28);
}

.kzzin-place-review-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(15, 30, 51, 0.08);
  background: linear-gradient(135deg, #f8fbff, #fff);
}

.kzzin-place-review-dialog-head span {
  display: block;
  margin-bottom: 6px;
  color: #0067ff;
  font-size: 11px;
  font-weight: 950;
}

.kzzin-place-review-dialog-head h2 {
  margin: 0;
  color: #07162b;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.2;
}

.kzzin-place-review-dialog-head p {
  margin: 7px 0 0;
  color: #526175;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.kzzin-place-review-close {
  appearance: none;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #061027;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.kzzin-place-review-frame-wrap {
  position: relative;
  min-height: 0;
  background: #eef4ff;
}

.kzzin-place-review-frame-wrap iframe {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
  background: #fff;
}

.kzzin-place-review-frame-wrap iframe[hidden],
.kzzin-place-review-external[hidden],
.kzzin-place-review-frame-note[hidden] {
  display: none;
}

.kzzin-place-review-external {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: clamp(24px, 5vw, 54px);
  background:
    radial-gradient(circle at 20% 0%, rgba(66, 133, 244, 0.16), transparent 34%),
    linear-gradient(135deg, #f8fbff, #ffffff);
  color: #243449;
  text-align: center;
}

.kzzin-place-review-external strong {
  color: #07162b;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 950;
  line-height: 1.2;
}

.kzzin-place-review-external p {
  max-width: 520px;
  margin: 0;
  color: #526175;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.6;
  word-break: keep-all;
}

.kzzin-place-review-external a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 4px;
  padding: 0 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #4285f4, #34a853 48%, #fbbc05);
  color: #fff !important;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(66, 133, 244, 0.18);
}

.kzzin-place-review-frame-note {
  position: absolute;
  inset: auto 20px 20px 20px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  color: #526175;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.kzzin-place-review-frame-note strong {
  color: #07162b;
  font-weight: 950;
}

.kzzin-place-review-dialog-foot {
  display: flex;
  justify-content: flex-end;
  padding: 14px 18px;
  border-top: 1px solid rgba(15, 30, 51, 0.08);
  background: #fff;
}

.kzzin-place-review-dialog-foot a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #006bff, #00d4ff);
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 680px) {
  .kzzin-place-review-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .kzzin-place-review-button {
    min-width: 0;
    min-height: 40px;
    padding: 0 8px;
    font-size: 13px;
    line-height: 1.15;
  }

  .kzzin-place-review-dialog {
    grid-template-rows: auto minmax(320px, 1fr) auto;
    height: 90vh;
    border-radius: 18px;
  }

  .kzzin-place-review-dialog-head {
    padding: 15px;
  }

  .kzzin-place-review-dialog-head h2 {
    font-size: 19px;
  }

  .kzzin-place-review-dialog-head p {
    font-size: 13px;
  }

  .kzzin-place-review-close {
    width: 36px;
    height: 36px;
  }

  .kzzin-place-review-frame-wrap iframe {
    min-height: 320px;
  }

  .kzzin-place-review-dialog-foot {
    justify-content: stretch;
  }

  .kzzin-place-review-dialog-foot a {
    width: 100%;
  }
}

.kzzin-place-nearby-course {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 18px;
  margin-top: 24px;
  scroll-margin-top: 118px;
  padding: 24px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 18% 0%, rgba(0, 212, 255, 0.34), transparent 32%),
    radial-gradient(circle at 100% 8%, rgba(255, 47, 125, 0.28), transparent 30%),
    linear-gradient(135deg, #061027 0%, #0b1f4d 48%, #7c3aed 100%);
  box-shadow: 0 24px 70px rgba(10, 31, 68, 0.18);
}

.kzzin-place-nearby-course.is-time-morning {
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 200, 87, 0.35), transparent 32%),
    radial-gradient(circle at 100% 8%, rgba(0, 212, 255, 0.24), transparent 30%),
    linear-gradient(135deg, #071632 0%, #0b54d8 46%, #00a6ff 100%);
}

.kzzin-place-nearby-course.is-time-afternoon {
  background:
    radial-gradient(circle at 18% 0%, rgba(0, 212, 255, 0.34), transparent 32%),
    radial-gradient(circle at 100% 8%, rgba(255, 47, 125, 0.28), transparent 30%),
    linear-gradient(135deg, #061027 0%, #0b1f4d 48%, #7c3aed 100%);
}

.kzzin-place-nearby-course.is-time-night {
  background:
    radial-gradient(circle at 18% 0%, rgba(124, 58, 237, 0.38), transparent 32%),
    radial-gradient(circle at 100% 8%, rgba(255, 47, 125, 0.34), transparent 30%),
    linear-gradient(135deg, #040713 0%, #111827 48%, #581c87 100%);
}

.kzzin-place-course-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.kzzin-place-course-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.kzzin-place-course-head h2 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  font-weight: 950;
  line-height: 1.2;
}

.kzzin-place-course-head p {
  max-width: 620px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  word-break: keep-all;
}

.kzzin-place-course-tabs {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kzzin-place-course-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 900;
  transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.kzzin-place-course-tabs a:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.kzzin-place-course-tabs a.is-active {
  border-color: #fff;
  background: #fff;
  color: #0958ff;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

.kzzin-place-course-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kzzin-place-course-loading {
  grid-column: 1 / -1;
  min-height: 64px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-weight: 850;
}

.kzzin-place-course-card {
  overflow: hidden;
  border: 1px solid var(--course-border, rgba(255, 255, 255, 0.16));
  border-radius: 20px;
  background: linear-gradient(180deg, #fff 0%, var(--course-soft, #fff) 100%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}

.kzzin-place-course-thumb {
  position: relative;
  display: block;
  height: 150px;
  overflow: hidden;
  background: #e9eef5;
}

.kzzin-place-course-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.kzzin-place-course-card:hover .kzzin-place-course-thumb img {
  transform: scale(1.035);
}

.kzzin-place-course-thumb em {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--hot-gradient);
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(255, 47, 125, 0.28);
}

.kzzin-place-course-copy {
  display: grid;
  gap: 7px;
  padding: 15px;
}

.kzzin-place-course-copy .kzzin-place-course-kind {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--course-soft, #eef4ff);
  color: var(--course-accent, #006bff);
  font-size: 11px;
  font-weight: 950;
}

.kzzin-place-course-copy .kzzin-place-course-kind i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: var(--course-accent, #006bff);
  color: #fff;
  font-size: 9px;
  line-height: 1;
  flex: 0 0 auto;
}

.kzzin-place-course-moment {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid var(--course-border, #d7e4ff);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}

.kzzin-place-course-moment::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--course-accent, #006bff);
  flex: 0 0 auto;
}

.kzzin-place-course-move {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 25px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.2;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.kzzin-place-course-move i {
  color: #7dd3fc;
  font-size: 10px;
  line-height: 1;
  flex: 0 0 auto;
}

.kzzin-place-course-copy strong {
  display: block;
  min-height: 46px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.28;
}

.kzzin-place-course-copy strong a {
  color: inherit;
}

.kzzin-place-course-copy p {
  margin: 0;
  color: #667085;
  font-size: 13px;
  font-weight: 760;
}

.kzzin-place-course-copy div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 4px;
}

.kzzin-place-course-copy div a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef4ff;
  color: #2458db;
  font-size: 12px;
  font-weight: 900;
}

.kzzin-place-course-copy div a:nth-child(2) {
  background: #061027;
  color: #fff;
}

.kzzin-place-course-card.is-food .kzzin-place-course-copy .kzzin-place-course-kind {
  color: #ff2f7d;
}

.kzzin-place-course-card.is-cafe .kzzin-place-course-copy .kzzin-place-course-kind {
  color: #8b5cf6;
}

.kzzin-place-course-card.is-walk .kzzin-place-course-copy .kzzin-place-course-kind {
  color: #0e9f6e;
}

.kzzin-place-course-card.is-transport .kzzin-place-course-copy .kzzin-place-course-kind {
  color: #006bff;
}

.kzzin-place-course-card.is-label-food,
.kzzin-place-course-deep-card.is-label-food {
  --course-accent: #e11d48;
  --course-soft: #fff1f2;
  --course-border: #fecdd3;
}

.kzzin-place-course-card.is-label-cafe,
.kzzin-place-course-deep-card.is-label-cafe {
  --course-accent: #7c3aed;
  --course-soft: #f5f3ff;
  --course-border: #ddd6fe;
}

.kzzin-place-course-card.is-label-walk,
.kzzin-place-course-deep-card.is-label-walk {
  --course-accent: #059669;
  --course-soft: #ecfdf5;
  --course-border: #a7f3d0;
}

.kzzin-place-course-card.is-label-market,
.kzzin-place-course-deep-card.is-label-market {
  --course-accent: #d97706;
  --course-soft: #fff7ed;
  --course-border: #fed7aa;
}

.kzzin-place-course-card.is-label-exhibit,
.kzzin-place-course-deep-card.is-label-exhibit {
  --course-accent: #2563eb;
  --course-soft: #eff6ff;
  --course-border: #bfdbfe;
}

.kzzin-place-course-card.is-label-shopping,
.kzzin-place-course-deep-card.is-label-shopping {
  --course-accent: #db2777;
  --course-soft: #fdf2f8;
  --course-border: #fbcfe8;
}

.kzzin-place-course-card.is-label-night,
.kzzin-place-course-deep-card.is-label-night {
  --course-accent: #4f46e5;
  --course-soft: #eef2ff;
  --course-border: #c7d2fe;
}

.kzzin-place-course-card.is-label-history,
.kzzin-place-course-deep-card.is-label-history {
  --course-accent: #92400e;
  --course-soft: #fffbeb;
  --course-border: #fde68a;
}

.kzzin-place-course-card.is-label-alley,
.kzzin-place-course-deep-card.is-label-alley {
  --course-accent: #0f766e;
  --course-soft: #f0fdfa;
  --course-border: #99f6e4;
}

.kzzin-place-course-card.is-label-experience,
.kzzin-place-course-deep-card.is-label-experience {
  --course-accent: #0891b2;
  --course-soft: #ecfeff;
  --course-border: #a5f3fc;
}

.kzzin-place-course-card.is-label-stay,
.kzzin-place-course-deep-card.is-label-stay {
  --course-accent: #475569;
  --course-soft: #f8fafc;
  --course-border: #cbd5e1;
}

.kzzin-place-course-card.is-label-nearby,
.kzzin-place-course-deep-card.is-label-nearby {
  --course-accent: #006bff;
  --course-soft: #eef4ff;
  --course-border: #c7d7ff;
}

.kzzin-place-course-card[class*="is-label-"] .kzzin-place-course-copy .kzzin-place-course-kind,
.kzzin-place-course-deep-card[class*="is-label-"] span {
  color: var(--course-accent, #006bff);
}

.kzzin-place-view-side {
  position: sticky;
  top: 120px;
  display: grid;
  gap: 14px;
}

.kzzin-place-side-stat {
  padding: 18px;
}

.kzzin-place-side-stat span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.kzzin-place-side-stat strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 42px;
  line-height: 1;
}

.kzzin-place-detail-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 18px;
}

.kzzin-place-tags.is-side {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.kzzin-place-map-actions {
  display: grid;
  gap: 8px;
}

.kzzin-place-map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 8px;
  background: var(--night);
  color: var(--white) !important;
  font-weight: 900;
}

.kzzin-place-map-link.is-naver {
  background: #1f7a4d;
}

.kzzin-place-map-link.is-kakao {
  background: #6b5612;
  color: #fff4a8 !important;
}

.kzzin-place-react {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.kzzin-place-react a,
.kzzin-place-react span {
  min-width: 96px;
}

@media (max-width: 680px) {
  .kzzin-place-nearby-course {
    gap: 15px;
    margin-top: 20px;
    scroll-margin-top: 76px;
    padding: 18px;
    border-radius: 22px;
  }

  .kzzin-place-course-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .kzzin-place-course-head h2 {
    font-size: 22px;
  }

  .kzzin-place-course-tabs {
    gap: 7px;
  }

  .kzzin-place-course-tabs a {
    flex: 1 1 calc(33.333% - 7px);
    min-width: 0;
    min-height: 34px;
    padding: 0 9px;
    font-size: 11px;
  }

  .kzzin-place-course-grid {
    grid-template-columns: 1fr;
  }

  .kzzin-place-course-thumb {
    height: 132px;
  }

  .kzzin-place-course-copy strong {
    min-height: 0;
    font-size: 17px;
  }
}

.kzzin-place-asset-box {
  display: grid;
  gap: 10px;
  margin-top: 22px;
  padding: 18px;
}

.kzzin-place-asset-box h2 {
  margin: 0;
  font-size: 20px;
}

.kzzin-place-asset-box a {
  color: var(--blue);
  font-weight: 900;
}

.kzzin-place-asset-box span {
  color: var(--muted);
  font-weight: 700;
}

.kzzin-place-neighbor {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 24px 0;
}

.kzzin-place-neighbor a {
  padding: 16px;
  color: var(--ink);
  font-weight: 900;
}

.kzzin-place-neighbor span {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-size: 12px;
  text-transform: uppercase;
}

.kzzin-place-write {
  --ink: #07111f;
  --muted: #667085;
  --line: #dce3ec;
  --paper: #f7f9fb;
  --white: #fff;
  --blue: #2458db;
  --cyan: #0d99b2;
  --night: #061027;
  --shadow: 0 18px 48px rgba(7, 17, 31, 0.12);
  margin: 0 auto;
  color: var(--ink);
  font-family: "SUIT Variable", Arial, sans-serif;
}

.kzzin-place-write * {
  box-sizing: border-box;
}

.kzzin-place-write form {
  margin: 0 auto;
}

.kzzin-place-write .write_div,
.kzzin-place-write .bo_w_select,
.kzzin-place-write .bo_w_info,
.kzzin-place-write .bo_w_tit,
.kzzin-write-panel {
  margin-bottom: 16px;
}

.kzzin-place-write .frm_input,
.kzzin-place-write select,
.kzzin-place-write textarea {
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
}

.kzzin-place-write .frm_input:focus,
.kzzin-place-write select:focus,
.kzzin-place-write textarea:focus {
  border-color: var(--blue);
  outline: none;
}

.kzzin-place-write .full_input {
  width: 100%;
}

.kzzin-write-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.kzzin-write-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 22px;
  background:
    linear-gradient(90deg, rgba(6, 16, 39, 0.94), rgba(6, 16, 39, 0.72)),
    url("https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Evening_street_in_Seongsu-dong.jpg/1280px-Evening_street_in_Seongsu-dong.jpg") center / cover;
  color: var(--white);
}

.kzzin-write-panel-head h3 {
  margin: 6px 0 8px;
  color: var(--white);
  font-size: 30px;
  line-height: 1.12;
}

.kzzin-write-panel-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.kzzin-write-template-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  color: var(--white);
  cursor: pointer;
  font-weight: 900;
  white-space: nowrap;
}

.kzzin-write-template-btn:hover {
  border-color: var(--white);
}

.kzzin-write-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 22px;
}

.kzzin-write-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.kzzin-write-grid label.is-wide {
  grid-column: 1 / -1;
}

.kzzin-write-grid span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.kzzin-write-grid input {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
}

.kzzin-write-preview {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin: 0 22px 22px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}

.kzzin-write-preview-media {
  display: grid;
  width: 100%;
  aspect-ratio: 16 / 9;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(36, 88, 219, 0.96), rgba(13, 153, 178, 0.88)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.08) 0 8px, transparent 8px 16px);
  color: var(--white);
  font-size: 30px;
}

.kzzin-write-preview-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kzzin-write-preview strong {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
}

.kzzin-write-preview p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.kzzin-place-write .btn_confirm {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 22px;
}

.kzzin-place-write .btn_confirm .btn,
.kzzin-place-write .btn_submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  padding: 0 16px;
  font-weight: 900;
}

.kzzin-place-write .btn_submit {
  border: 1px solid var(--night);
  background: var(--night);
  color: var(--white);
}

.kzzin-place-write .btn_cancel {
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
}

@media (max-width: 1180px) {
  .kzzin-place-list-hero,
  .kzzin-place-badge-landing,
  .kzzin-place-view-layout {
    grid-template-columns: 1fr;
  }

  .kzzin-place-featured-grid,
  .kzzin-place-grid,
  .kzzin-place-feed-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kzzin-place-view-side {
    position: static;
  }
}

@media (max-width: 680px) {
  #bo_list.kzzin-place-board,
  .kzzin-place-board,
  .kzzin-place-view {
    width: auto !important;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .kzzin-place-list-hero {
    width: 100%;
    min-width: 0;
    padding: 28px;
  }

  .kzzin-place-list-hero h1 {
    font-size: 38px;
  }

  .kzzin-place-view-hero h1 {
    max-width: min(100%, calc(100vw - 56px));
    font-size: 30px;
    line-height: 1.12;
    word-break: break-all;
    overflow-wrap: anywhere;
  }

  .kzzin-place-list-hero p,
  .kzzin-place-view-hero p {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

	  .kzzin-place-stat-grid,
	  .kzzin-place-featured-grid,
	  .kzzin-place-grid,
	  .kzzin-place-feed-video-grid,
  .kzzin-place-depth-grid,
	  .kzzin-place-editorial-grid,
	  .kzzin-place-enrichment-grid,
	  .kzzin-place-editorial-facts,
	  .kzzin-place-neighbor,
  .kzzin-place-search .bo_sch form {
    grid-template-columns: 1fr;
  }

  .kzzin-place-toolbar,
  .kzzin-place-view-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .kzzin-place-actions {
    justify-content: flex-start;
  }

  .kzzin-place-sortbar {
    justify-content: flex-start;
  }

  .kzzin-place-context {
    align-items: stretch;
    grid-template-columns: 1fr;
    padding: 17px;
    border-radius: 20px;
  }

  .kzzin-place-context-main strong {
    font-size: 22px;
  }

  .kzzin-place-context-side {
    justify-items: start;
  }

  .kzzin-place-context-chips {
    justify-content: flex-start;
  }

  .kzzin-place-hub-actions {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-top: 14px;
  }

  .kzzin-place-hub-action {
    padding: 11px;
    border-radius: 16px;
  }

  .kzzin-place-badge-landing {
    padding: 20px;
    border-radius: 24px;
  }

  .kzzin-place-badge-landing-main h2 {
    font-size: 31px;
    line-height: 1.08;
  }

  .kzzin-place-badge-landing-side {
    border-radius: 20px;
  }

  .kzzin-place-feature-media {
    height: 190px;
  }

  .kzzin-place-card-media {
    height: 190px;
  }

  .kzzin-place-view-hero,
  .kzzin-place-view-copy {
    min-height: 420px;
  }

  .kzzin-place-editorial {
    gap: 16px;
  }

  .kzzin-place-editorial-lead {
    font-size: 21px;
  }

	  .kzzin-place-editorial-section {
	    min-height: auto;
	    padding: 18px;
	  }

  .kzzin-place-depth-card {
    padding: 16px;
  }

  .kzzin-place-depth-head h2 {
    font-size: 25px;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .kzzin-place-depth-head p {
    font-size: 16px;
  }

  .kzzin-place-reason-list li,
  .kzzin-place-course-list li,
  .kzzin-place-menu-table div,
  .kzzin-place-check-list div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .kzzin-place-menu-table em {
    white-space: normal;
  }

	  .kzzin-place-info div,
	  .kzzin-place-detail-list div {
	    grid-template-columns: 1fr;
    gap: 2px;
  }

  .kzzin-place-card-facts span {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .kzzin-write-panel-head,
  .kzzin-write-preview {
    grid-template-columns: 1fr;
  }

  .kzzin-write-panel-head {
    flex-direction: column;
  }

  .kzzin-write-grid {
    grid-template-columns: 1fr;
  }

  .kzzin-place-write .btn_confirm {
    flex-direction: column-reverse;
  }

  .kzzin-place-write .btn_confirm .btn,
  .kzzin-place-write .btn_submit {
    width: 100%;
  }
}

/* Final cascade for the vivid redesign. Keep this block last. */
.kzzin-place-board,
.kzzin-place-view {
  --ink: #08111f;
  --muted: #526175;
  --line: rgba(15, 23, 42, 0.12);
  --blue: #006bff;
  --cyan: #00c2ff;
  --green: #00bf7a;
  --coral: #ff2f7d;
  --amber: #ff9f1c;
  --night: #061027;
  --hot-gradient: linear-gradient(135deg, #006bff 0%, #00d4ff 45%, #ff2f7d 100%);
  --fresh-gradient: linear-gradient(135deg, #00b875 0%, #9dff00 100%);
  --shadow: 0 24px 70px rgba(10, 31, 68, 0.14);
}

.kzzin-place-board {
  background: linear-gradient(180deg, #eafaff 0%, #fff 38%, #fff7fb 72%, #f3fbff 100%);
}

.kzzin-place-list-hero {
  border: 0;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(0, 107, 255, 0.9) 0%, rgba(0, 212, 255, 0.78) 42%, rgba(255, 47, 125, 0.72) 100%),
    url("https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Evening_street_in_Seongsu-dong.jpg/1280px-Evening_street_in_Seongsu-dong.jpg") center / cover;
  box-shadow: 0 28px 80px rgba(0, 107, 255, 0.16);
}

.kzzin-place-list-hero h1 {
  font-size: 62px;
}

.kzzin-place-stat-grid span,
.kzzin-place-filter-panel,
.kzzin-place-adminbar,
.kzzin-place-feature-card,
.kzzin-place-card,
.kzzin-place-view-content,
.kzzin-place-side-stat,
.kzzin-place-detail-list,
.kzzin-place-tags.is-side,
.kzzin-place-asset-box,
.kzzin-place-neighbor a {
  border: 0;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.kzzin-place-btn,
.kzzin-place-adminbar button,
.kzzin-place-search button,
.kzzin-place-react a,
.kzzin-place-react span,
.kzzin-place-view-admin a,
.kzzin-place-cate a,
.kzzin-place-filter-row a,
.kzzin-place-sortbar a {
  border-color: rgba(0, 107, 255, 0.14);
  border-radius: 999px;
  background: #fff;
}

.kzzin-place-btn:hover,
.kzzin-place-adminbar button:hover,
.kzzin-place-view-admin a:hover,
.kzzin-place-cate #bo_cate_on,
.kzzin-place-cate a:hover,
.kzzin-place-filter-row a:hover,
.kzzin-place-filter-row a.is-active,
.kzzin-place-sortbar a:hover,
.kzzin-place-sortbar a.is-active,
.kzzin-place-btn.is-primary {
  border-color: transparent;
  background: var(--hot-gradient);
  color: #fff;
}

.kzzin-place-filter-row:nth-child(2) a.is-active,
.kzzin-place-filter-row:nth-child(2) a:hover {
  background: var(--fresh-gradient);
  color: #061027;
}

.kzzin-place-feature-card,
.kzzin-place-card {
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.kzzin-place-feature-card:hover,
.kzzin-place-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 34px 90px rgba(0, 107, 255, 0.2);
}

.kzzin-place-feature-media,
.kzzin-place-card-media,
.kzzin-place-card-media .kzzin-place-fallback {
  background:
    linear-gradient(135deg, rgba(0, 107, 255, 0.96), rgba(0, 212, 255, 0.88) 42%, rgba(255, 47, 125, 0.9)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.12) 0 8px, transparent 8px 16px);
}

.kzzin-place-feature-media em,
.kzzin-place-card-media em {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #061027;
}

.kzzin-place-chip,
.kzzin-place-tags span,
.kzzin-place-badge {
  border-radius: 999px;
}

.kzzin-place-badge {
  border: 0;
  color: #fff;
  box-shadow: 0 10px 22px rgba(10, 31, 68, 0.12);
}

.kzzin-place-badge.is-info { background: linear-gradient(135deg, #006bff, #00d4ff); color: #fff; }
.kzzin-place-badge.is-todayn { background: linear-gradient(135deg, #7c3aed, #ff2fdd); color: #fff; }
.kzzin-place-badge.is-today { background: linear-gradient(135deg, #ff2f7d, #ff8a00); color: #fff; }
.kzzin-place-badge.is-hometown { background: linear-gradient(135deg, #00b875, #9dff00); color: #061027; }
.kzzin-place-badge.is-master { background: linear-gradient(135deg, #ff9f1c, #facc15); color: #061027; }
.kzzin-place-badge.is-plan { background: linear-gradient(135deg, #111827, #2563eb); color: #fff; }
.kzzin-place-badge.is-baekban { background: linear-gradient(135deg, #f97316, #ef4444); color: #fff; }
.kzzin-place-badge.is-meok { background: linear-gradient(135deg, #ec4899, #f43f5e); color: #fff; }
.kzzin-place-badge.is-again { background: linear-gradient(135deg, #00c2ff, #006bff); color: #fff; }
.kzzin-place-badge.is-spoiler { background: linear-gradient(135deg, #16a34a, #22c55e); color: #061027; }
.kzzin-place-badge.is-global { background: linear-gradient(135deg, #06b6d4, #8b5cf6); color: #fff; }
.kzzin-place-badge.is-tasty { background: linear-gradient(135deg, #f59e0b, #84cc16); color: #061027; }
.kzzin-place-badge.is-dudley { background: linear-gradient(135deg, #111827, #64748b); color: #fff; }
.kzzin-place-badge.is-meat { background: linear-gradient(135deg, #dc2626, #fb7185); color: #fff; }
.kzzin-place-badge.is-yummy { background: linear-gradient(135deg, #14b8a6, #22d3ee); color: #061027; }

.kzzin-place-view-hero {
  border: 0;
  border-radius: 30px;
  box-shadow: 0 28px 80px rgba(6, 16, 39, 0.18);
}

.kzzin-place-view-shade {
  background: linear-gradient(90deg, rgba(6, 16, 39, 0.9), rgba(0, 107, 255, 0.32), rgba(255, 47, 125, 0.12));
}

.kzzin-place-view-hero h1 {
  font-size: 58px;
}

.kzzin-place-video,
.kzzin-place-map-link,
.kzzin-place-view-content img {
  border-radius: 24px;
}

.kzzin-place-video {
  border: 0;
  background: linear-gradient(135deg, #061027 0%, #111827 55%, #006bff 100%);
}

.kzzin-place-map-link {
  background: var(--hot-gradient);
}

.kzzin-place-map-link.is-naver {
  background: linear-gradient(135deg, #00c73c, #02df7f);
  color: #061027 !important;
}

.kzzin-place-map-link.is-kakao {
  background: linear-gradient(135deg, #fee500, #ffb800);
  color: #061027 !important;
}

@media (max-width: 680px) {
  .kzzin-place-list-hero,
  .kzzin-place-view-hero {
    border-radius: 22px;
  }

  .kzzin-place-list-hero h1,
  .kzzin-place-view-hero h1 {
    font-size: 32px;
    line-height: 1.12;
  }
}

/* Pretendard typography for place board and detail. */
.kzzin-place-board,
.kzzin-place-view,
.kzzin-place-write,
.kzzin-place-board button,
.kzzin-place-board input,
.kzzin-place-board select,
.kzzin-place-view button,
.kzzin-place-write input,
.kzzin-place-write textarea,
.kzzin-place-write select {
  font-family: "Pretendard Variable", Pretendard, "SUIT Variable", Arial, sans-serif;
}

.kzzin-place-list-hero h1,
.kzzin-place-view-hero h1 {
  font-family: "Pretendard Variable", Pretendard, "SUIT Variable", Arial, sans-serif;
  font-weight: 900;
}

.kzzin-place-featured-head h2,
.kzzin-place-card h2,
.kzzin-place-feature-body strong,
.kzzin-place-asset-box h2,
.kzzin-place-video-head strong,
.kzzin-place-side-stat strong,
.kzzin-write-panel-head h2 {
  font-family: "Pretendard Variable", Pretendard, "SUIT Variable", Arial, sans-serif;
  font-weight: 800;
}

.kzzin-place-eyebrow,
.kzzin-place-btn,
.kzzin-place-cate a,
.kzzin-place-filter-row a,
.kzzin-place-sortbar a,
.kzzin-place-chip,
.kzzin-place-badge,
.kzzin-place-tags span,
.kzzin-place-open,
.kzzin-place-map-link,
.kzzin-place-side-stat span,
.kzzin-place-info dt,
.kzzin-place-detail-list dt {
  font-weight: 800;
}

.kzzin-place-list-hero p,
.kzzin-place-view-hero p,
.kzzin-place-card p,
.kzzin-place-feature-body span,
.kzzin-place-view-content,
.kzzin-place-info dd,
.kzzin-place-detail-list dd {
  font-weight: 350;
}

.kzzin-place-view-hero .kzzin-place-hero-summary {
  max-width: 760px;
  margin-top: 14px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 650;
  letter-spacing: 0;
}

@media (max-width: 768px) {
  .kzzin-place-view-hero .kzzin-place-hero-summary {
    font-size: 13px;
    line-height: 1.55;
  }
}

/* KZZIN place detail comments */
.kzzin-place-comment-shell {
  margin: 28px 0 clamp(36px, 5vw, 64px);
}

.kzzin-place-comment-shell .cmt_btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 58px;
  padding: 16px 22px;
  border: 0;
  border-radius: 24px;
  background: var(--hot-gradient, linear-gradient(135deg, #006bff 0%, #00d4ff 45%, #ff2f7d 100%));
  color: #fff;
  font-family: "Pretendard Variable", Pretendard, "SUIT Variable", Arial, sans-serif;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 18px 46px rgba(0, 107, 255, 0.2);
  cursor: pointer;
}

.kzzin-place-comment-shell .cmt_btn .total {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.kzzin-place-comment-shell .cmt_more {
  position: relative;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
}

.kzzin-place-comment-shell .cmt_more::before,
.kzzin-place-comment-shell .cmt_more::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transform: translate(-50%, -50%);
}

.kzzin-place-comment-shell .cmt_more::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.kzzin-place-comment-shell .cmt_btn.cmt_btn_op .cmt_more::after {
  opacity: 0;
}

.kzzin-place-comment-shell #bo_vc,
.kzzin-place-comment-shell #bo_vc_w {
  margin-top: 14px;
  padding: 22px;
  border: 0;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow, 0 24px 70px rgba(10, 31, 68, 0.14));
}

.kzzin-place-comment-shell #bo_vc h2,
.kzzin-place-comment-shell #bo_vc_w h2 {
  margin: 0 0 16px;
  color: var(--ink);
  font-family: "Pretendard Variable", Pretendard, "SUIT Variable", Arial, sans-serif;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 0;
}

.kzzin-place-comment-shell #bo_vc article {
  position: relative;
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.kzzin-place-comment-shell #bo_vc article:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.kzzin-place-comment-shell .pf_img {
  flex: 0 0 44px;
}

.kzzin-place-comment-shell .pf_img img {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  object-fit: cover;
  box-shadow: 0 10px 24px rgba(10, 31, 68, 0.12);
}

.kzzin-place-comment-shell .cm_wrap {
  min-width: 0;
  flex: 1 1 auto;
}

.kzzin-place-comment-shell .cm_wrap header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.kzzin-place-comment-shell .cm_wrap header h2 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.kzzin-place-comment-shell .cmt_contents {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.75;
}

.kzzin-place-comment-shell .cmt_contents p {
  margin: 0;
}

.kzzin-place-comment-shell #bo_vc_empty {
  margin: 0;
  padding: 28px 18px;
  border: 1px dashed rgba(0, 107, 255, 0.28);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(0, 212, 255, 0.08), rgba(255, 47, 125, 0.08));
  color: var(--muted);
  text-align: center;
  font-weight: 800;
}

.kzzin-place-comment-shell .bo_vl_opt {
  position: absolute;
  right: 0;
  top: 16px;
}

.kzzin-place-comment-shell .btn_cm_opt {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
}

.kzzin-place-comment-shell .bo_vc_act {
  display: none;
  position: absolute;
  right: 0;
  top: 40px;
  z-index: 10;
  min-width: 88px;
  margin: 0;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(10, 31, 68, 0.16);
  list-style: none;
}

.kzzin-place-comment-shell .bo_vc_act a {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  color: var(--ink);
  font-weight: 800;
}

.kzzin-place-comment-shell .bo_vc_act a:hover {
  background: rgba(0, 107, 255, 0.08);
}

.kzzin-place-comment-shell #bo_vc_w textarea {
  width: 100%;
  min-height: 138px;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 20px;
  background: #f8fbff;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.7;
  resize: vertical;
  box-sizing: border-box;
}

.kzzin-place-comment-shell #bo_vc_w textarea:focus,
.kzzin-place-comment-shell #bo_vc_w .frm_input:focus {
  border-color: #006bff;
  outline: none;
  box-shadow: 0 0 0 4px rgba(0, 107, 255, 0.1);
}

.kzzin-place-comment-shell .bo_vc_w_wr {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
}

.kzzin-place-comment-shell .bo_vc_w_info {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 10px;
}

.kzzin-place-comment-shell .bo_vc_w_info .frm_input {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  background: #fff;
}

.kzzin-place-comment-shell .btn_confirm {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: 0;
}

.kzzin-place-comment-shell .secret_cm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: var(--ink);
  font-weight: 800;
  white-space: nowrap;
}

.kzzin-place-comment-shell .secret_cm label {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 20px;
  padding-left: 0 !important;
  color: var(--ink) !important;
  line-height: 1;
  cursor: pointer;
}

.kzzin-place-comment-shell .secret_cm input[type="checkbox"] + label span {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: inline-flex !important;
  float: none !important;
  flex: 0 0 17px;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  border: 1px solid rgba(15, 23, 42, 0.24) !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-sizing: border-box;
}

.kzzin-place-comment-shell .secret_cm input[type="checkbox"] + label span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 46%;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.kzzin-place-comment-shell .secret_cm input[type="checkbox"]:checked + label span {
  border-color: transparent !important;
  background: var(--hot-gradient, linear-gradient(135deg, #006bff 0%, #00d4ff 45%, #ff2f7d 100%)) !important;
}

.kzzin-place-comment-shell .secret_cm input[type="checkbox"]:checked + label span::after {
  opacity: 1;
}

.kzzin-place-comment-shell .secret_cm input[type="checkbox"]:focus-visible + label span {
  box-shadow: 0 0 0 4px rgba(0, 107, 255, 0.16);
}

.kzzin-place-comment-shell .btn_submit {
  min-width: 112px;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--hot-gradient, linear-gradient(135deg, #006bff 0%, #00d4ff 45%, #ff2f7d 100%));
  color: #fff;
  font-weight: 950;
  box-shadow: 0 14px 32px rgba(0, 107, 255, 0.2);
}

.kzzin-place-comment-shell #char_cnt {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 680px) {
  .kzzin-place-comment-shell #bo_vc,
  .kzzin-place-comment-shell #bo_vc_w {
    padding: 18px;
    border-radius: 20px;
  }

  .kzzin-place-comment-shell .cmt_btn {
    min-height: 54px;
    padding: 14px 18px;
    border-radius: 20px;
  }

  .kzzin-place-comment-shell .bo_vc_w_wr,
  .kzzin-place-comment-shell .btn_confirm {
    align-items: stretch;
    flex-direction: column;
  }

  .kzzin-place-comment-shell .secret_cm,
  .kzzin-place-comment-shell .btn_submit {
    justify-content: center;
    width: 100%;
  }
}

.kzzin-place-rating {
  margin: 26px 0;
  padding: clamp(18px, 2.6vw, 28px);
  border: 1px solid rgba(0, 107, 255, 0.12);
  border-radius: 24px;
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
  box-shadow: 0 18px 50px rgba(0, 107, 255, 0.08);
}

.kzzin-place-rating-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.kzzin-place-rating-head span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.kzzin-place-rating-head h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 24px;
  font-weight: 950;
}

.kzzin-place-rating-summary {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 4px 14px;
  min-width: 190px;
  padding: 14px 18px;
  border-radius: 20px;
  background: #061027;
  color: #fff;
}

.kzzin-place-rating-summary strong {
  color: #72d8ff;
  font-size: 24px;
  font-weight: 950;
}

.kzzin-place-rating-summary b {
  font-size: 28px;
  font-weight: 950;
  text-align: right;
}

.kzzin-place-rating-summary em {
  grid-column: 1 / -1;
  color: rgba(255, 255, 255, 0.72);
  font-style: normal;
  font-size: 12px;
}

.kzzin-place-rating-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 18px;
}

.kzzin-place-rating-card {
  min-width: 0;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.kzzin-place-rating-card.is-form {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.kzzin-place-rating-donut {
  --rating-pct: 50%;
  position: relative;
  display: grid;
  place-items: center;
  width: 148px;
  height: 148px;
  border-radius: 999px;
  background: conic-gradient(#006bff 0 var(--rating-pct), #e8eef7 var(--rating-pct) 100%);
}

.kzzin-place-rating-donut::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: inherit;
  background: #fff;
}

.kzzin-place-rating-donut strong,
.kzzin-place-rating-donut span,
.kzzin-place-rating-donut em {
  position: relative;
  z-index: 1;
}

.kzzin-place-rating-donut strong {
  align-self: end;
  color: var(--ink);
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
}

.kzzin-place-rating-donut span {
  align-self: start;
  margin-top: 3px;
  color: #7a8798;
  font-size: 15px;
  font-weight: 900;
}

.kzzin-place-rating-donut em {
  position: absolute;
  top: 86px;
  color: #7a8798;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
}

.kzzin-place-rating-sliders {
  display: grid;
  gap: 12px;
}

.kzzin-place-rating-row,
.kzzin-place-rating-bar {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
}

.kzzin-place-rating-row span,
.kzzin-place-rating-bar span,
.kzzin-place-rating-bar b {
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-rating-row input[type="range"] {
  width: 100%;
  accent-color: #006bff;
}

.kzzin-place-rating-row b,
.kzzin-place-rating-bar b {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
  text-align: right;
}

.kzzin-place-rating-action {
  grid-column: 1 / -1;
  text-align: center;
}

.kzzin-place-rating-action button,
.kzzin-place-rating-action .kzzin-place-rating-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #006bff, #00a3ff);
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  cursor: pointer;
  text-decoration: none;
}

.kzzin-place-rating-action button:disabled {
  background: #e8eef7;
  color: #667085;
  cursor: default;
}

.kzzin-place-rating-action .kzzin-place-rating-login:hover {
  color: #fff;
}

.kzzin-place-rating-card.is-result h3 {
  margin: 0 0 16px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
}

.kzzin-place-rating-bars {
  display: grid;
  gap: 14px;
}

.kzzin-place-rating-bar i {
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f7;
}

.kzzin-place-rating-bar em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6ee7f2, #006bff);
}

.kzzin-place-side-stat.is-user-rating {
  background: linear-gradient(135deg, #006bff, #00a3ff);
  color: #fff;
}

.kzzin-place-side-stat.is-user-rating span,
.kzzin-place-side-stat.is-user-rating strong {
  color: #fff;
}

.kzzin-place-rating-grid {
  grid-template-columns: minmax(390px, 1fr) minmax(182px, 0.38fr);
  gap: 14px;
  align-items: stretch;
}

.kzzin-place-rating-card {
  border-color: rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  box-shadow: none;
}

.kzzin-place-rating-card.is-form {
  display: grid;
  grid-template-columns: 150px minmax(190px, 1fr);
  gap: 22px;
  align-items: center;
  padding: 18px 20px;
  overflow: visible;
  background: #fff;
}

.kzzin-place-rating-card.is-form .kzzin-place-rating-donut {
  width: 148px;
  height: 148px;
  justify-self: center;
}

.kzzin-place-rating-card.is-form .kzzin-place-rating-donut::before {
  inset: 18px;
}

.kzzin-place-rating-card.is-form .kzzin-place-rating-donut strong {
  font-size: 34px;
  align-self: center;
  margin-top: -8px;
}

.kzzin-place-rating-card.is-form .kzzin-place-rating-donut span {
  display: none;
}

.kzzin-place-rating-card.is-form .kzzin-place-rating-donut em {
  top: 88px;
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

.kzzin-place-rating-control {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.kzzin-place-rating-sliders {
  gap: 9px;
}

.kzzin-place-rating-row {
  display: grid;
  grid-template-columns: 58px minmax(84px, 1fr) 26px;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.kzzin-place-rating-row span {
  color: #07152f;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.kzzin-place-rating-row b {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #07152f;
  font-size: 16px;
  font-weight: 950;
  text-align: right;
}

.kzzin-place-rating-row input[type="range"] {
  width: 100%;
  height: 20px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  z-index: 3;
  accent-color: #006bff;
  -webkit-appearance: none;
  appearance: none;
}

.kzzin-place-rating-row input[type="range"]::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #006bff 0 var(--rating-progress, 50%), #e8eef7 var(--rating-progress, 50%) 100%);
}

.kzzin-place-rating-row input[type="range"]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  margin-top: -4px;
  border: 0;
  border-radius: 999px;
  background: #3b73f6;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.kzzin-place-rating-row input[type="range"]::-moz-range-track {
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: #e8eef7;
}

.kzzin-place-rating-row input[type="range"]::-moz-range-progress {
  height: 8px;
  border-radius: 999px;
  background: #3b73f6;
}

.kzzin-place-rating-row input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 999px;
  background: #3b73f6;
  box-shadow: none;
}

.kzzin-place-rating-row input[type="range"]:disabled {
  cursor: default;
  opacity: 0.72;
}

.kzzin-place-rating-action {
  text-align: center;
}

.kzzin-place-rating-action button,
.kzzin-place-rating-action .kzzin-place-rating-login {
  width: 150px;
  min-width: 150px;
  min-height: 46px;
  border-radius: 14px;
  box-shadow: none;
}

.kzzin-place-rating-card.is-result {
  padding: 18px 14px;
  overflow: hidden;
}

.kzzin-place-rating-card.is-result h3 {
  margin-bottom: 15px;
  text-align: center;
}

.kzzin-place-rating-card.is-result .kzzin-place-rating-bars {
  gap: 12px;
}

.kzzin-place-rating-card.is-result .kzzin-place-rating-bar {
  grid-template-columns: 44px minmax(44px, 1fr) 26px;
  gap: 6px;
  min-width: 0;
}

.kzzin-place-rating-card.is-result .kzzin-place-rating-bar span,
.kzzin-place-rating-card.is-result .kzzin-place-rating-bar b {
  min-width: 0;
  font-size: 12px;
}

.kzzin-place-rating-card.is-result .kzzin-place-rating-bar span {
  white-space: nowrap;
}

.kzzin-place-rating-card.is-result .kzzin-place-rating-bar b {
  text-align: right;
}

.kzzin-place-rating-card.is-result .kzzin-place-rating-bar i {
  height: 9px;
  min-width: 0;
}

.kzzin-place-comment-emoticon {
  display: inline-block;
  max-width: 160px;
  max-height: 160px;
  width: auto;
  height: auto;
  vertical-align: middle;
}

.kzzin-place-emoticons {
  margin: 12px 0 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fbff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.kzzin-place-emoticon-head,
.kzzin-place-emoticon-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kzzin-place-emoticon-head {
  justify-content: space-between;
}

.kzzin-place-emoticon-head strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}

.kzzin-place-emoticon-head button,
.kzzin-place-emoticon-tabs button,
.kzzin-place-emoticon-grid button {
  border: 0;
  cursor: pointer;
}

.kzzin-place-emoticon-head button {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #061027;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.kzzin-place-emoticon-panel {
  margin-top: 12px;
}

.kzzin-place-emoticon-tabs {
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.kzzin-place-emoticon-tabs button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d7e2ef;
  border-radius: 10px;
  background: #fff;
}

.kzzin-place-emoticon-tabs button.is-active {
  border-color: #006bff;
  box-shadow: 0 0 0 3px rgba(0, 107, 255, 0.12);
}

.kzzin-place-emoticon-tabs img {
  max-width: 28px;
  max-height: 28px;
}

.kzzin-place-emoticon-grid {
  display: none;
  grid-template-columns: repeat(auto-fill, minmax(54px, 1fr));
  gap: 8px;
  max-height: 220px;
  overflow: auto;
}

.kzzin-place-emoticon-grid.is-active {
  display: grid;
}

.kzzin-place-emoticon-grid button {
  display: grid;
  place-items: center;
  min-height: 54px;
  border-radius: 12px;
  background: #fff;
}

.kzzin-place-emoticon-grid button:hover {
  outline: 2px solid rgba(0, 107, 255, 0.2);
}

.kzzin-place-emoticon-grid img {
  max-width: 46px;
  max-height: 46px;
}

.kzzin-place-review-login-required {
  display: grid;
  gap: 14px;
  text-align: center;
}

.kzzin-place-review-login-required p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}

.kzzin-place-review-login-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--hot-gradient, linear-gradient(135deg, #006bff 0%, #00d4ff 45%, #ff2f7d 100%));
  color: #fff;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(0, 107, 255, 0.2);
}

.kzzin-place-review-login-link:hover {
  color: #fff;
}

@media (max-width: 920px) {
  .kzzin-place-rating-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .kzzin-place-rating-head,
  .kzzin-place-rating-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .kzzin-place-rating-card.is-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kzzin-place-rating-summary {
    width: 100%;
  }

  .kzzin-place-rating-control {
    width: 100%;
  }

  .kzzin-place-rating-card.is-form .kzzin-place-rating-donut {
    width: 118px;
    height: 118px;
    justify-self: center;
  }

  .kzzin-place-rating-card.is-form .kzzin-place-rating-donut strong {
    font-size: 28px;
  }

  .kzzin-place-rating-card.is-form .kzzin-place-rating-donut em {
    top: 68px;
  }

  .kzzin-place-rating-row {
    grid-template-columns: 58px minmax(0, 1fr) 26px;
  }

  .kzzin-place-rating-bar {
    grid-template-columns: 62px minmax(0, 1fr) 28px;
  }

  .kzzin-place-rating-star-badge {
    top: 8px;
    right: 8px;
    width: 40px;
    height: 40px;
  }

  .kzzin-place-rating-star-badge b {
    width: 32px;
    font-size: 13px;
  }
}

/* Newly attached video restaurants */
.kzzin-place-new-video {
  position: relative;
  overflow: hidden;
  margin: 24px 0 22px;
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 212, 255, 0.32), transparent 34%),
    radial-gradient(circle at 94% 10%, rgba(255, 47, 125, 0.28), transparent 32%),
    linear-gradient(135deg, #08142d 0%, #1230c7 48%, #f7278b 100%);
  color: #fff;
  box-shadow: 0 24px 72px rgba(7, 17, 31, 0.18);
}

.kzzin-place-new-video::after {
  content: "";
  position: absolute;
  inset: auto -12% -48% 34%;
  height: 72%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.28), transparent 62%);
  pointer-events: none;
}

.kzzin-place-new-video-head {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  max-width: 760px;
  margin-bottom: 18px;
}

.kzzin-place-new-video-head .kzzin-place-eyebrow {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.kzzin-place-new-video-head h2 {
  margin: 0;
  font-family: "Pretendard Variable", Pretendard, "SUIT Variable", Arial, sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 950;
  line-height: 1.12;
  letter-spacing: 0;
}

.kzzin-place-new-video-head span {
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 1.65;
  font-weight: 450;
  word-break: keep-all;
}

.kzzin-place-new-video-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.kzzin-place-new-video-card {
  display: grid;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  backdrop-filter: blur(14px);
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.kzzin-place-new-video-card:hover {
  border-color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.19);
  transform: translateY(-3px);
}

.kzzin-place-new-video-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.14);
}

.kzzin-place-new-video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease, filter 220ms ease;
}

.kzzin-place-new-video-card:hover .kzzin-place-new-video-thumb img {
  transform: scale(1.035);
}

.kzzin-place-new-video-card.is-youtube-thumb .kzzin-place-new-video-thumb img {
  filter: saturate(0.95) contrast(1.02);
}

.kzzin-place-new-video-thumb em {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #f7278b;
  font-size: 12px;
}

.kzzin-place-new-video-thumb small {
  position: absolute;
  right: 9px;
  top: 9px;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(6, 16, 39, 0.66);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.kzzin-place-new-video-body {
  display: grid;
  gap: 8px;
  padding: 13px;
  min-width: 0;
}

.kzzin-place-new-video-body strong {
  display: -webkit-box;
  overflow: hidden;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.kzzin-place-new-video-body > span:not(.kzzin-place-new-video-badges) {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.74);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-new-video-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.kzzin-place-new-video-badges .kzzin-place-badge {
  min-height: 23px;
  padding: 0 8px;
  border: 0;
  font-size: 11px;
  font-style: normal;
  box-shadow: none;
}

@media (max-width: 1180px) {
  .kzzin-place-new-video-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .kzzin-place-new-video {
    padding: 18px;
    border-radius: 22px;
  }

  .kzzin-place-new-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .kzzin-place-new-video-body {
    padding: 11px;
  }
}

@media (max-width: 420px) {
  .kzzin-place-badge-landing-stats {
    grid-template-columns: 1fr;
  }

  .kzzin-place-badge-landing-videos a {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .kzzin-place-badge-landing-videos img {
    width: 74px;
  }

  .kzzin-place-new-video-grid {
    grid-template-columns: 1fr;
  }
}

.kzzin-place-new-video-tabs {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
}

.kzzin-place-new-video-tab {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.kzzin-place-new-video-tab:hover,
.kzzin-place-new-video-tab.has-new {
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

.kzzin-place-new-video-tab strong {
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
}

.kzzin-place-new-video-tab span {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-new-video-tab.has-new span {
  color: #fff;
}

.kzzin-place-new-video-rails {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
}

.kzzin-place-new-video-rail {
  --rail-accent: #00d4ff;
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
}

.kzzin-place-new-video-rail.is-plan { --rail-accent: #ff45c8; }
.kzzin-place-new-video-rail.is-baekban { --rail-accent: #ffd166; }
.kzzin-place-new-video-rail.is-info { --rail-accent: #00e5ff; }
.kzzin-place-new-video-rail.is-today { --rail-accent: #51ff9a; }
.kzzin-place-new-video-rail.is-master { --rail-accent: #ff8a3d; }
.kzzin-place-new-video-rail.is-tasty { --rail-accent: #a78bfa; }

.kzzin-place-new-video-rail-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.kzzin-place-new-video-rail-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--rail-accent), rgba(255, 255, 255, 0.82));
  color: #061027;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.kzzin-place-new-video-rail-head strong {
  overflow: hidden;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-new-video-rail-head a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.kzzin-place-new-video-rail-head a:hover {
  background: rgba(255, 255, 255, 0.24);
}

.kzzin-place-new-video-rail .kzzin-place-new-video-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .kzzin-place-new-video-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kzzin-place-new-video-rail .kzzin-place-new-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .kzzin-place-new-video-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kzzin-place-new-video-rail {
    padding: 12px;
    border-radius: 20px;
  }

  .kzzin-place-new-video-rail-head {
    grid-template-columns: 1fr auto;
  }

  .kzzin-place-new-video-rail-badge {
    justify-self: start;
  }

  .kzzin-place-new-video-rail-head strong {
    grid-column: 1 / -1;
    grid-row: 2;
    white-space: normal;
  }
}

@media (max-width: 420px) {
  .kzzin-place-new-video-tabs,
  .kzzin-place-new-video-rail .kzzin-place-new-video-grid {
    grid-template-columns: 1fr;
  }
}

.kzzin-place-hipstreet-landing {
  position: relative;
  overflow: hidden;
  margin: 24px 0;
  padding: clamp(20px, 2.8vw, 30px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 255, 255, 0.24), transparent 31%),
    linear-gradient(135deg, #07111f 0%, #006bff 45%, #ff2f7d 100%);
  color: #fff;
  box-shadow: 0 24px 70px rgba(0, 107, 255, 0.2);
}

.kzzin-place-hipstreet-landing::after {
  content: "";
  position: absolute;
  inset: auto -12% -34% 36%;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  filter: blur(34px);
  pointer-events: none;
}

.kzzin-place-hipstreet-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
  gap: 18px;
  align-items: end;
  margin-bottom: 18px;
}

.kzzin-place-hipstreet-head .kzzin-place-eyebrow {
  color: rgba(255, 255, 255, 0.76);
}

.kzzin-place-hipstreet-head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2.9vw, 38px);
  line-height: 1.15;
  font-weight: 950;
  word-break: keep-all;
}

.kzzin-place-hipstreet-head > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 14px;
  line-height: 1.65;
  word-break: keep-all;
}

.kzzin-place-hipstreet-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.kzzin-place-hipstreet-card {
  --hip-a: #006bff;
  --hip-b: #00d4ff;
  display: flex;
  min-width: 0;
  min-height: 540px;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  color: #111827;
  box-shadow: 0 16px 42px rgba(7, 17, 31, 0.14);
}

.kzzin-place-hipstreet-card.is-gwollidan { --hip-a: #ff2f7d; --hip-b: #ff8a00; }
.kzzin-place-hipstreet-card.is-cheongridan { --hip-a: #00a76f; --hip-b: #42e695; }
.kzzin-place-hipstreet-card.is-gaehangro { --hip-a: #7c3aed; --hip-b: #f43f5e; }
.kzzin-place-hipstreet-card.is-baedari { --hip-a: #f59e0b; --hip-b: #ef4444; }
.kzzin-place-hipstreet-card.is-songdo { --hip-a: #0ea5e9; --hip-b: #22d3ee; }

.kzzin-place-hipstreet-visual {
  position: relative;
  display: flex;
  overflow: hidden;
  min-height: 172px;
  align-items: flex-end;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.52)),
    linear-gradient(135deg, var(--hip-a), var(--hip-b));
  color: #fff;
}

.kzzin-place-hipstreet-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kzzin-place-hipstreet-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 17, 31, 0.02) 0%, rgba(7, 17, 31, 0.68) 100%),
    linear-gradient(135deg, rgba(0, 107, 255, 0.18), rgba(255, 47, 125, 0.22));
}

.kzzin-place-hipstreet-visual-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 7px;
}

.kzzin-place-hipstreet-visual-copy span {
  width: max-content;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.88);
  font-size: 11px;
  font-weight: 950;
  backdrop-filter: blur(10px);
}

.kzzin-place-hipstreet-visual-copy strong {
  color: #fff;
  font-size: 31px;
  line-height: 1.05;
  font-weight: 950;
  text-shadow: 0 7px 24px rgba(0, 0, 0, 0.28);
}

.kzzin-place-hipstreet-card-head {
  display: grid;
  gap: 8px;
  padding: 16px 18px 14px;
}

.kzzin-place-hipstreet-card-head span,
.kzzin-place-hipstreet-card-head em {
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  font-style: normal;
  white-space: nowrap;
}

.kzzin-place-hipstreet-card-head span {
  padding: 6px 10px;
  background: linear-gradient(135deg, var(--hip-a), var(--hip-b));
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}

.kzzin-place-hipstreet-card-head strong {
  color: #0f172a;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 950;
  word-break: keep-all;
}

.kzzin-place-hipstreet-card-head em {
  padding: 4px 9px;
  background: rgba(15, 23, 42, 0.06);
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}

.kzzin-place-hipstreet-card-head p {
  margin: 2px 0 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.55;
  word-break: keep-all;
}

.kzzin-place-hipstreet-moods {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.kzzin-place-hipstreet-moods em {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(0, 107, 255, 0.08);
  color: #334155;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.kzzin-place-hipstreet-card-head small {
  display: flex;
  gap: 7px;
  align-items: flex-start;
  color: #0f172a;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.45;
  word-break: keep-all;
}

.kzzin-place-hipstreet-card-head small i {
  margin-top: 2px;
  color: var(--hip-a);
}

.kzzin-place-hipstreet-spots {
  display: grid;
  gap: 9px;
  padding: 0 18px 14px;
}

.kzzin-place-hipstreet-spot {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 17px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.kzzin-place-hipstreet-spot:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 107, 255, 0.22);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.1);
}

.kzzin-place-hipstreet-thumb {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 72px;
  aspect-ratio: 1.12 / 1;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--hip-a), var(--hip-b));
  color: #fff;
}

.kzzin-place-hipstreet-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kzzin-place-hipstreet-thumb img + i {
  display: none;
}

.kzzin-place-hipstreet-thumb i {
  font-size: 20px;
}

.kzzin-place-hipstreet-spot-body {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.kzzin-place-hipstreet-spot-body strong {
  overflow: hidden;
  color: #111827;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-hipstreet-spot-body em {
  overflow: hidden;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-hipstreet-empty {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  border: 1px dashed rgba(15, 23, 42, 0.18);
  border-radius: 17px;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.kzzin-place-hipstreet-more {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin: auto 18px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--hip-a), var(--hip-b));
  color: #fff !important;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
  transition: filter 0.18s ease, transform 0.18s ease;
}

.kzzin-place-hipstreet-more:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.kzzin-place-hipstreet-feature {
  --hip-a: #006bff;
  --hip-b: #00d4ff;
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.15fr) minmax(240px, 0.75fr);
  gap: 18px;
  align-items: stretch;
  margin: 24px 0;
  padding: 18px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.22), transparent 30%),
    linear-gradient(135deg, #07111f 0%, #0f2f75 43%, #ff2f7d 100%);
  color: #fff;
  box-shadow: 0 28px 78px rgba(0, 107, 255, 0.22);
}

.kzzin-place-hipstreet-feature.is-gwollidan { --hip-a: #ff2f7d; --hip-b: #ff8a00; }
.kzzin-place-hipstreet-feature.is-cheongridan { --hip-a: #00a76f; --hip-b: #42e695; }
.kzzin-place-hipstreet-feature.is-gaehangro { --hip-a: #7c3aed; --hip-b: #f43f5e; }
.kzzin-place-hipstreet-feature.is-baedari { --hip-a: #f59e0b; --hip-b: #ef4444; }
.kzzin-place-hipstreet-feature.is-songdo { --hip-a: #0ea5e9; --hip-b: #22d3ee; }

.kzzin-place-hipstreet-feature-visual {
  position: relative;
  display: flex;
  overflow: hidden;
  min-height: 360px;
  align-items: flex-end;
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--hip-a), var(--hip-b));
}

.kzzin-place-hipstreet-feature-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kzzin-place-hipstreet-feature-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 17, 31, 0.02) 0%, rgba(7, 17, 31, 0.78) 100%),
    linear-gradient(135deg, rgba(0, 107, 255, 0.16), rgba(255, 47, 125, 0.2));
}

.kzzin-place-hipstreet-feature-visual > div {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
}

.kzzin-place-hipstreet-feature-visual span {
  width: max-content;
  max-width: 100%;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.88);
  font-size: 12px;
  font-weight: 950;
  backdrop-filter: blur(10px);
}

.kzzin-place-hipstreet-feature-visual strong {
  color: #fff;
  font-size: clamp(35px, 4vw, 58px);
  line-height: 0.98;
  font-weight: 950;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
  word-break: keep-all;
}

.kzzin-place-hipstreet-feature-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 12px 4px;
}

.kzzin-place-hipstreet-feature-body .kzzin-place-eyebrow {
  color: rgba(255, 255, 255, 0.68);
}

.kzzin-place-hipstreet-feature-body h2 {
  margin: 4px 0 10px;
  color: #fff;
  font-size: clamp(25px, 2.7vw, 42px);
  line-height: 1.14;
  font-weight: 950;
  word-break: keep-all;
}

.kzzin-place-hipstreet-feature-body > strong {
  color: #fff;
  font-size: 17px;
  line-height: 1.48;
  font-weight: 950;
  word-break: keep-all;
}

.kzzin-place-hipstreet-feature-body > p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.7;
  word-break: keep-all;
}

.kzzin-place-hipstreet-feature-moods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.kzzin-place-hipstreet-feature-moods em {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.kzzin-place-hipstreet-feature-route {
  display: grid;
  gap: 5px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
}

.kzzin-place-hipstreet-feature-route span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.kzzin-place-hipstreet-feature-route em {
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.45;
  word-break: keep-all;
}

.kzzin-place-hipstreet-feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.kzzin-place-hipstreet-feature-actions a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border-radius: 999px;
  background: #fff;
  color: #07111f;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
}

.kzzin-place-hipstreet-feature-actions a + a {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.kzzin-place-hipstreet-feature-side {
  display: grid;
  align-content: center;
  gap: 10px;
  min-width: 0;
}

.kzzin-place-hipstreet-feature-side > span {
  display: grid;
  gap: 3px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.kzzin-place-hipstreet-feature-side > span strong {
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
}

.kzzin-place-hipstreet-feature-side > span em {
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.kzzin-place-hipstreet-feature-side a {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease;
}

.kzzin-place-hipstreet-feature-side a:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.18);
}

.kzzin-place-hipstreet-feature-side img {
  width: 62px;
  aspect-ratio: 1.08 / 1;
  border-radius: 13px;
  object-fit: cover;
}

.kzzin-place-hipstreet-feature-side a:not(:has(img)) {
  grid-template-columns: 1fr;
}

.kzzin-place-hipstreet-feature-side a span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.kzzin-place-hipstreet-feature-side a strong {
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-hipstreet-feature-side a em {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .kzzin-place-hipstreet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kzzin-place-hipstreet-feature {
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
  }

  .kzzin-place-hipstreet-feature-side {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .kzzin-place-hipstreet-feature-side > span,
  .kzzin-place-hipstreet-feature-side a {
    min-height: 84px;
  }
}

@media (max-width: 720px) {
  .kzzin-place-hipstreet-landing {
    padding: 17px;
    border-radius: 22px;
  }

  .kzzin-place-hipstreet-head {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .kzzin-place-hipstreet-head h2 {
    font-size: 24px;
  }

  .kzzin-place-hipstreet-head > p {
    font-size: 13px;
  }

  .kzzin-place-hipstreet-grid {
    grid-template-columns: 1fr;
  }

  .kzzin-place-hipstreet-card {
    min-height: 0;
    padding: 0;
    border-radius: 20px;
  }

  .kzzin-place-hipstreet-visual {
    min-height: 150px;
    padding: 15px;
  }

  .kzzin-place-hipstreet-visual-copy strong {
    font-size: 27px;
  }

  .kzzin-place-hipstreet-feature {
    grid-template-columns: 1fr;
    padding: 14px;
    border-radius: 24px;
  }

  .kzzin-place-hipstreet-feature-visual {
    min-height: 260px;
    border-radius: 19px;
  }

  .kzzin-place-hipstreet-feature-side {
    grid-template-columns: 1fr;
  }

  .kzzin-place-hipstreet-feature-side > span,
  .kzzin-place-hipstreet-feature-side a {
    min-height: 0;
  }
}

@media (max-width: 420px) {
  .kzzin-place-hipstreet-spot {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .kzzin-place-hipstreet-thumb {
    width: 64px;
  }
}

/* Compact board location header: this board owns its own navigation title. */
#container_title {
  display: none !important;
}

#bo_list.kzzin-place-board {
  background: #fff !important;
}

.kzzin-place-list-hero {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
  align-items: center !important;
  min-height: 150px !important;
  margin-bottom: 16px !important;
  padding: clamp(18px, 2.2vw, 28px) !important;
  border: 0 !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, rgba(0, 107, 255, 0.9) 0%, rgba(0, 212, 255, 0.78) 42%, rgba(255, 47, 125, 0.72) 100%),
    url("https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Evening_street_in_Seongsu-dong.jpg/1280px-Evening_street_in_Seongsu-dong.jpg") center / cover !important;
  color: var(--white) !important;
  box-shadow: 0 22px 58px rgba(0, 107, 255, 0.16) !important;
}

.kzzin-place-list-hero .kzzin-place-eyebrow {
  margin-bottom: 7px !important;
  color: #dff9ff !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

.kzzin-place-list-hero h1 {
  max-width: 980px !important;
  color: var(--white) !important;
  font-size: clamp(20px, 2.15vw, 31px) !important;
  line-height: 1.24 !important;
  font-weight: 950 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.kzzin-place-list-hero p {
  max-width: 980px !important;
  margin-top: 8px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  word-break: keep-all !important;
}

.kzzin-place-list-hero .kzzin-place-stat-grid {
  gap: 8px !important;
}

.kzzin-place-list-hero .kzzin-place-stat-grid span {
  min-height: 64px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px);
}

.kzzin-place-list-hero .kzzin-place-stat-grid strong {
  color: var(--white) !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

.kzzin-place-list-hero .kzzin-place-stat-grid em {
  margin-top: 5px !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 10px !important;
}

@media (max-width: 900px) {
  .kzzin-place-list-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  .kzzin-place-list-hero .kzzin-place-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .kzzin-place-list-hero {
    padding: 16px !important;
    border-radius: 18px !important;
  }

  .kzzin-place-list-hero h1 {
    font-size: 20px !important;
    line-height: 1.32 !important;
  }

  .kzzin-place-list-hero p {
    font-size: 12px !important;
  }

  .kzzin-place-list-hero .kzzin-place-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.kzzin-place-comment-files {
  margin-top: 12px;
}

.kzzin-place-comment-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kzzin-place-comment-photo {
  display: block;
  width: 86px;
  height: 86px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: #f8fafc;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.kzzin-place-comment-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.kzzin-place-comment-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.kzzin-place-comment-download {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(0, 107, 255, 0.16);
  border-radius: 999px;
  background: rgba(0, 107, 255, 0.06);
  color: #0f57d7;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.kzzin-place-comment-download span {
  margin-left: 6px;
  color: #64748b;
  font-weight: 700;
}

.kzzin-place-comment-upload {
  margin: 18px 0 0;
  border: 1px solid rgba(0, 107, 255, 0.14);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0, 107, 255, 0.06);
}

.kzzin-place-emoticons + .kzzin-place-comment-upload {
  margin-top: 20px;
}

.kzzin-place-comment-upload .swiper_comment_file_wrap {
  display: none;
  min-height: 0;
  border: 0 !important;
}

.kzzin-place-comment-upload .swiper_comment_file_wrap:has(.swiper-slide_lists) {
  display: block;
}

.kzzin-place-comment-upload .au_file_list_img_wrap {
  border-radius: 12px;
  overflow: hidden;
  background: #f8fafc;
}

.kzzin-place-comment-upload .au_file_list_img_wrap img {
  width: 100%;
  height: 72px;
  object-fit: cover;
  display: block;
}

.kzzin-place-comment-upload .au_btn_del {
  position: relative;
  z-index: 2;
  width: fit-content;
  margin: 6px auto 0;
  padding: 4px 8px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.kzzin-place-comment-upload .cut {
  overflow: hidden;
  color: #64748b;
  font-size: 11px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kzzin-place-comment-upload .au_progress {
  display: none;
  width: 100%;
  height: 6px;
  background: #e2e8f0;
}

.kzzin-place-comment-upload .au_bars {
  width: 0;
  height: 6px;
  background: linear-gradient(90deg, #006bff, #13c8ff);
}

.kzzin-place-comment-upload-drop {
  position: relative;
}

.kzzin-place-comment-upload-drop .au_input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.kzzin-place-comment-upload-drop .au_btn_search_file_cmt {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px 16px !important;
  border: 0 !important;
  border-top: 1px dashed rgba(0, 107, 255, 0.2) !important;
  background: linear-gradient(135deg, rgba(0, 107, 255, 0.07), rgba(19, 200, 255, 0.08));
  color: #0f57d7;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
}

@media (max-width: 680px) {
  .kzzin-place-comment-photo {
    width: 74px;
    height: 74px;
    border-radius: 10px;
  }

  .kzzin-place-comment-upload-drop .au_btn_search_file_cmt {
    min-height: 50px;
    font-size: 12px;
  }
}
