/* =========================================================
   Be Stayable app.css
   역할별 섹션 정리본: 중복 선택자와 중복 선언은 최종 적용값 기준으로 통합했습니다.
========================================================= */

/* =========================================================
   1. Design Tokens & Base
========================================================= */
*{
  box-sizing: border-box;
}
a{
  color: inherit;
  text-decoration: none;
}
img{
  max-width: 100%;
  display: block;
}
h1{
  font-size: 2rem;
  line-height: 1.2;
  word-break: keep-all;
}
h2{
  font-size: 1.5rem;
  line-height: 1.2;
  word-break: keep-all;
}
h3{
  font-size: 1.2rem;
}
:root{
  --container: 1200px;
  --bg: #ffffff;
  --card: #ffffff;
  --text: #14243a;
  --muted: #64748b;
  --border: rgba(15, 23, 42, 0.10);
  --brand: #2563eb;
  --accent: #174c78;
  --shadow: 0 14px 36px rgba(37, 99, 235, 0.075);
  --radius: 20px;
  --radius2: 28px;
}
html{
  height: 100%;
  background-color: #fff !important;
  background: #ffffff !important;
}
body{
  height: 100%;
  margin: 0;
  font-family: Pretendard,system-ui,-apple-system,Segoe UI,Roboto,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size: 17px;
  background-color: #fff !important;
  background: #ffffff !important;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* =========================================================
   2. Layout
========================================================= */
.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 18px 0 56px;
}
.grid{
  display: grid;
  gap: 16px;
}
.row{
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.sep{
  height: 1px;
  background: var(--border);
  margin: 8px 0;
}
.hero{
  display: grid;
  gap: 18px;
}
.hero-title{
  font-size: 42px;
  line-height:1.2;
  margin: 10px 0 12px;
  letter-spacing: -1px;
  word-break: keep-all;
}
.hero-desc{
  max-width: 720px;
  font-size: 15px;
}
.hero-panel{
  display: flex;
  justify-content: center;
}
main,
.page,
.app-shell{
  background-color: #fff !important;
}

/* =========================================================
   3. Common Components
========================================================= */
.h1{
  line-height:1.2;
  margin: 0;
  letter-spacing: -.4px;
  word-break: keep-all;
}
.h2{
  line-height: 1.2;
  margin: 0;
  word-break: keep-all;
}
.p{
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
.badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #333;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
}
.checkbox-line input{
  width: 18px;
  height: 18px;
  accent-color: var(--brand);
  margin: 0;
}
.small{
  font-size: 12px;
  color: var(--muted);
}
.mini-flow{
  width: 100%;
  display: grid;
  gap: 10px;
}
.mini-flow > div{
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px 16px;
  font-weight: 500;
}
.feature-card{
  min-height: 180px;
}
body.has-preview-open{
  overflow: hidden;
}
.btn--sm{
  padding: 8px 12px;
  font-size: 12px;
  border-radius: 999px;
}
.btn--danger{
  border-color: rgba(220,38,38,.18);
  background: rgba(220,38,38,.08);
  color: #b91c1c;
}
.toc-help{
  margin-top: 8px;
}
.btn--small{
  padding: 8px 12px;
  font-size: 13px;
  min-height: 38px;
  flex: 0 0 auto;
  white-space: nowrap;
}
.breadcrumb.small ol{
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumb.small li{
  position: relative;
}
.breadcrumb.small li + li::before{
  content: ">";
  position: absolute;
  left: -16px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-weight: 500;
}
[hidden]{
  display: none !important;
}
.travel-list__actions{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.card{
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  padding: 22px;
  border-color: var(--border);
  background: #ffffff;
}
.notice{
  border: 1px dashed rgba(91,124,255,.35);
  border-radius: var(--radius2);
  padding: 14px;
  border-color: var(--border);
  background: #ffffff;
}
.btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  background: #fff;
  font-weight: 500;
  cursor: pointer;
  border-color: var(--border);
  border-radius: 999px;
}
.btn--brand{
  border-color: transparent;
  background: #174c78;
  color: #ffffff;
}
.input,
textarea,
select{
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border);
  background: #fff;
  outline: none;
  font-size: 14px;
  font: inherit;
  border-color: var(--border);
  border-radius: 16px;
}
.checkbox-line{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
  border-color: var(--border);
  border-radius: 16px;
}
.input:focus,
textarea:focus,
select:focus{
  border-color: rgba(37, 99, 235, 0.5);
}

/* =========================================================
   4. Header & Navigation
========================================================= */

.topbar--editorial{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(15,23,42,.06);
}










.topbar-categories__list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding-right: 20px;
}
.topbar-categories__list--desktop{
  justify-content: center;
}
.topbar-categories__chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  color: #7c8594;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .04em;
  text-transform: lowercase;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  transition: color .18s ease;
}
.topbar-categories__chip::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1px;
  background: #111827;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.topbar-categories__chip[aria-current="true"],
.mobile-site-menu__nav a[aria-current="page"]{
  color: #111827;
}
.topbar-categories__chip span,
.topbar-categories__list--mobile .topbar-categories__chip::after{
  display: none;
}
.topbar-categories__chip--skeleton{
  width: 72px;
  height: 14px;
  border-radius: 999px;
  background: #e5e7eb;
}
.mobile-site-menu{
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(15,23,42,.36);
  backdrop-filter: blur(6px);
}
.mobile-site-menu__panel{
  width: min(88vw,360px);
  height: 100%;
  background: #fff;
  padding: 22px 18px 24px;
  overflow: auto;
}
.mobile-site-menu__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.mobile-site-menu__head strong{
  font-size: 15px;
  font-weight: 500;
  color: #111827;
}
.mobile-site-menu__close{
  border: 0;
  background: transparent;
  color: #6b7280;
  font-weight: 500;
  padding: 0;
  cursor: pointer;
}
.mobile-site-menu__nav{
  display: grid;
  gap: 4px;
  margin-bottom: 20px;
}
.mobile-site-menu__nav a{
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid #f1f5f9;
  color: #111827;
  text-decoration: none;
  font-weight: 500;
}
.mobile-site-menu__section{
  display: grid;
  gap: 12px;
}
.mobile-site-menu__title{
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6b7280;
}
.topbar-categories__list--mobile{
  display: grid;
  gap: 10px;
}
.topbar-categories__list--mobile .topbar-categories__chip{
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #f8fafc;
  color: #111827;
  text-transform: none;
  font-size: 14px;
  font-weight: 500;
}
.topbar-categories__list--mobile .topbar-categories__chip span{
  display: inline;
  color: #94a3b8;
  font-size: 12px;
}
.topbar--editorial:not(.topbar--travel){
  border-bottom: 1px solid rgba(16, 42, 69, 0.08);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: saturate(1.08) blur(18px);
}
.topbar--editorial:not(.topbar--travel) .brand__text{
  color: #102A45;
  font-weight: 500;
  letter-spacing: -0.035em;
}
.nav__icon-btn,
.topbar-hamburger{
  border-radius: 999px;
}
.nav__icon-btn:hover,
.nav__icon-btn:focus-visible,
.topbar-hamburger:hover,
.topbar-hamburger:focus-visible{
  background: #F8FBFF;
}

/* =========================================================
   5. Listing / Home Pages
========================================================= */
.posts-page{
  padding-top: 20px;
}
.posts-layout{
  display: grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap: 24px;
  align-items: start;
}
.posts-sidebar{
  min-height: auto;
  --site-sidebar-base-top: 93px;
}
.posts-sidebar__summary{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.posts-summary-card strong{
  font-size: 22px;
  line-height: 1;
  font-weight: 500;
  color: #0f172a;
}
.posts-summary-card span{
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
}
.posts-sidebar__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.posts-sidebar__chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.posts-sidebar__chip span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(91,124,255,.12);
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 500;
}
.posts-sidebar__actions{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.posts-sidebar__actions .btn{
  justify-content: center;
  width: 100%;
}
.posts-sidebar__summary + .posts-sidebar__chips{
  padding-top: 16px;
  border-top: 1px solid rgba(148,163,184,.16);
}
.posts-main{
  min-width: 0;
}
.skeleton-stack{
  display: grid;
  gap: 10px;
}
.skeleton-box{
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 14px;
  background: #e8eef7;
}
.skeleton-box::after{
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.72) 50%, rgba(255,255,255,0) 100%);
  animation: skeleton-shimmer 1.35s ease-in-out infinite;
}
.skeleton-box--media{
  width: 100%;
  height: 100%;
  min-height: 220px;
  border-radius: 20px;
}
.skeleton-box--chip{
  width: 88px;
  height: 30px;
  border-radius: 999px;
}
.skeleton-box--chip-short{
  width: 62px;
}
.skeleton-box--date{
  width: 88px;
  height: 20px;
  margin-left: auto;
}
.skeleton-box--title{
  height: 28px;
  width: min(82%,520px);
}
.skeleton-box--text{
  height: 17px;
  width: 100%;
}
.skeleton-box--text-short{
  width: 72%;
}
.skeleton-box--button{
  width: 104px;
  height: 42px;
  border-radius: 999px;
}
.skeleton-box--button-muted{
  width: 84px;
}
.skeleton-box--summary-number{
  width: 56px;
  height: 32px;
  border-radius: 12px;
}
.skeleton-box--summary-label{
  width: 72px;
  height: 15px;
  border-radius: 999px;
}
.posts-summary-card--skeleton{
  gap: 10px;
}
.posts-sidebar__chip--skeleton{
  display: inline-block;
  width: 92px;
  height: 34px;
  border-radius: 999px;
  border: 0;
  padding: 0;
  background: #e8eef7;
  color: transparent;
}
.skeleton-box--popular{
  height: 18px;
  width: 100%;
  border-radius: 999px;
}
.posts-load-more{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
.posts-load-more__btn{
  min-width: 220px;
  justify-content: center;
}
.posts-skeleton-chunk{
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.posts-home-hero{
  position: relative;
  overflow: hidden;
  padding: 34px 32px;
  border-radius: 28px;
  background: linear-gradient(135deg,#f8fbff 0%,#eef4ff 44%,#ffffff 100%);
  border: 1px solid rgba(91,124,255,.10);
}
.posts-home-hero__content{
  max-width: 760px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.posts-home-hero__eyebrow{
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #4f46e5;
}
.posts-home-hero__title{
  margin: 0;
  font-size: clamp(30px,4vw,44px);
  line-height: 1.15;
  font-weight: 500;
  color: #0f172a;
}
.posts-home-hero__desc{
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #475569;
}
.posts-layout--clean{
  align-items: start;
}
.posts-sidebar--simple{
  gap: 18px;
}
.posts-sidebar__popular-shell .h2{
  margin: 0 0 20px 0;
  font-size: 20px;
  line-height: 1.2;
  word-break: keep-all;
}
.posts-layout--home-top{
  margin-top: 20px;
}
.posts-error{
  color: #b00020;
}
.posts-popular-list,
.row--top-gap,
.row--top-gap-lg{
  margin-top: 14px;
}
.posts-loading-text{
  display: none;
}
.row--chips{
  gap: 8px;
  flex-wrap: wrap;
}
.badge--draft{
  background: rgba(96,165,250,.14);
  color: #174C78;
  border-color: rgba(96,165,250,.22);
}
.posts-sidebar__ad-shell{
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: #fff;
  min-height: 300px;
  contain: layout paint;
}
.posts-sidebar__popular-shell{
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: #fff;
  min-height: 190px;
  contain: layout paint;
}
.posts-summary-card{
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 12px;
  border-radius: 18px;
  border: 1px solid rgba(91,124,255,.12);
  text-align: center;
  border-color: var(--border);
  background: #ffffff;
}

/* =========================================================
   6. Post Page & Article Body
========================================================= */
.post-list-grid,
.post-grid,
.post-card--skeleton .post-card__body{
  display: grid;
  gap: 16px;
}
.post-list-grid--rows{
  grid-template-columns: 1fr;
}
.post-card{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.post-card--row:focus-visible{
  outline: 3px solid rgba(91,124,255,.28);
  outline-offset: 2px;
}
.post-card__thumb--row{
  height: 100%;
  min-height: 220px;
  aspect-ratio: auto;
}
.post-card__body{
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.post-meta{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.post-meta--row{
  padding-top: 2px;
}
.post-shell{
  display: block;
}
.post-main{
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.post-cover-wrap,
.post-body blockquote p,
.post-section-title,
.post-faq__list p{
  margin: 0;
}
.post-body ul,
.post-body ol{
  margin: 0 25px 25px;
  padding: 0;
  line-height: 1.9;
  color: #1e293b;
}
.post-body ul li,
.post-body ol li{
  margin-bottom: 10px;
}
.post-body code{
  background: #eff6ff;
  padding: 3px 6px;
  border-radius: 8px;
  font-size: .92em;
}
.post-side{
  height: max-content;
  position: sticky;
  --site-sidebar-base-top: 93px;
  top: var(--site-sidebar-base-top);
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 820px;
}
.tag-chip--static{
  pointer-events: none;
}
.plain-list{
  margin: 0;
  padding-left: 18px;
  line-height: 1.8;
  color: #334155;
}
.post-shell--tip .post-hero{
  border: 1px solid rgba(37,99,235,.18);
}
.post-shell--review .post-hero{
  border: 1px solid rgba(91,124,255,.22);
}
.preview-body h5,
.preview-body h6{
  line-height: 1.32;
  letter-spacing: -.03em;
  margin: 26px 0 12px;
  scroll-margin-top: 25px;
}
.preview-faq{
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
}
.preview-faq h2{
  margin: 0 0 14px;
  line-height: 1.2;
  letter-spacing: -.03em;
  word-break: keep-all;
}
.preview-faq__list{
  display: grid;
  gap: 12px;
}
.preview-faq__item{
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
}
.preview-faq__item h3{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.45;
}
.preview-faq__answer p:last-child,
.preview-faq__answer ul:last-child,
.preview-faq__answer ol:last-child,
.post-body .post-content blockquote p:last-child,
.preview-body blockquote p:last-child{
  margin-bottom: 0;
}
.post-side__section{
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: #fff;
}
.post-side__ad-slot{
  min-height: 260px;
  border: 1px dashed rgba(91,124,255,.28);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(91,124,255,.06), rgba(37,99,235,.05));
  display: grid;
  place-items: center;
  margin-top: 14px;
  font-weight: 500;
  color: #64748b;
}
.post-side__ad-slot--placeholder{
  min-height: 240px;
  text-align: center;
  font-size: 14px;
  line-height: 1.7;
}
.post-side__ad-slot--placeholder span{
  display: inline-block;
  max-width: 180px;
}
.post-side__title{
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 500;
  color: #111827;
}
.post-side__popular-list{
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.post-side__popular-link{
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 10px;
  align-items: start;
  word-break: keep-all;
}
.post-side__popular-rank{
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #333;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
}
.post-side__popular-text{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.55;
  color: #1e293b;
  font-weight: 400;
  font-size: 15px;
}
.post-side__extra{
  min-height: 280px;
}
.post-ad{
  margin: 28px 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  contain: layout style paint;
}
.post-ad--inline,
.post-ad--sidebar{
  min-height: 320px;
}
.post-ad__slot{
  width: 100%;
  min-height: inherit;
  display: block;
}
.post-ad__skeleton{
  min-height: inherit;
  display: grid;
  place-items: center;
  padding: 18px;
  background: linear-gradient(135deg, rgba(91,124,255,.05), rgba(37,99,235,.04));
  color: #64748b;
}
.post-ad__skeleton-label{
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -.02em;
}
.post-ad--placeholder{
  display: grid;
  gap: 8px;
  place-items: center;
  text-align: center;
  background: rgba(91,124,255,.04);
  border-style: dashed;
  min-height: 150px;
  padding: 16px;
}
.post-ad__placeholder-title{
  font-weight: 500;
  color: var(--ink);
}
.post-side__ad .post-ad{
  margin-top: 12px;
  margin-bottom: 0;
}
.post-admin-actions .small{
  white-space: nowrap;
}
.post-toc{
  border: 1px solid #eee;
  border-radius: 24px;
  margin: 30px 0;
  overflow: hidden;
}
.post-toc__summary{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
}
.post-toc__summary::-webkit-details-marker,
.post-toc__summary::marker{
  display: none;
}
.post-toc__summary-main{
  display: flex;
  align-items: center;
  min-width: 0;
}
.post-toc__title{
  font-size: 19px;
  font-weight: 500;
  letter-spacing: -.03em;
  color: #0f172a;
}
.post-toc__summary-meta{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0;
  font-weight: 500;
  color: #475569;
  white-space: nowrap;
}
.post-toc__summary-meta::after{
  content: "x";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #333;
  color: #fff;
  font-size: 13px;
  transition: .2s ease;
}
.post-toc:not([open]) .post-toc__summary-meta::after{
  content: "+";
}
.post-toc__body{
  padding: 10px;
  border-top: 1px solid rgba(148,163,184,.16);
}
.post-toc__list{
  margin: 0 !important;
  padding: 14px 0 0;
  list-style: none;
  display: grid;
  gap: 0;
}
.post-toc__list li,
.post-related__list li{
  margin: 0 !important;
}
.post-toc__item a{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  padding: 10px 12px;
  border-radius: 16px;
  color: #1e3a8a;
  text-decoration: none;
  line-height: 1.7;
  transition: .18s ease;
}
.post-toc__index{
  font-weight: 500;
  color: #333;
  min-width: 20px;
}
.post-toc__text{
  min-width: 0;
  color: #1e293b;
}
.post-toc__item--h3{
  margin-left: 18px;
  font-size: 15px;
}
.post-toc__item--h3 .post-toc__index{
  color: #64748b;
}
.preview-toc-placeholder{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border: 1px dashed #9db4ff;
  border-radius: 18px;
  background: #f8fbff;
  color: #1e3a8a;
  margin: 8px 0 24px;
  font-weight: 500;
}
.preview-toc-placeholder__meta{
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
}
.preview-inline-image{
  margin: 22px 0;
}
.preview-inline-image img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
  border: 1px solid rgba(91, 124, 255, 0.14);
}
.preview-inline-image figcaption{
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
.post-inline-image{
  margin: 26px 0;
}
.post-inline-image__img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  border: 1px solid rgba(91, 124, 255, 0.16);
}
.post-inline-image__caption{
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}
.post-card--skeleton{
  pointer-events: none;
  user-select: none;
}
.post-side__popular-link--skeleton{
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 10px;
  align-items: center;
  padding: 0;
}
.post-side__popular-rank--skeleton{
  background: #eef2ff;
  color: #94a3b8;
}
.post-admin-mini-actions{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.post-admin-mini-btn{
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.post-admin-mini-btn:hover{
  background: #f8fafc;
  color: #0f172a;
  text-decoration: none;
}
.post-admin-mini-btn:disabled{
  opacity: .55;
  cursor: wait;
}
.post-admin-mini-btn--danger{
  border-color: rgba(220,38,38,.22);
  background: rgba(220,38,38,.06);
  color: #b91c1c;
}
.post-admin-mini-btn--danger:hover{
  background: rgba(220,38,38,.1);
  color: #991b1b;
}
.post-author-card__actions{
  margin-left: auto;
}
.post-body a[href^="/"]{
  color: #333;
  text-decoration: none;
}
.post-body a[href^="/"]:focus-visible{
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}
.post-body .table-wrap table,
.preview-body .table-wrap table{
  margin: 0;
  border: 0;
  border-radius: 0;
}
.post-body table tbody tr:nth-child(even),
.preview-body table tbody tr:nth-child(even){
  background: #fcfdff;
}
.post-admin-actions--wrap{
  flex-wrap: wrap;
}
.post-card--row .post-admin-actions--wrap{
  width: 100%;
  align-items: center;
  gap: 8px;
}
.post-card--row .post-admin-actions__controls{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.post-card--row .post-admin-actions__controls > .btn{
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1.15;
  border-radius: 999px;
  min-height: 28px;
}
.post-admin-actions--meta{
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.post-section-divider{
  border-top: 1px solid var(--border);
}
.post-section-divider--tags{
  margin-top: 32px;
  padding-top: 24px;
}
.post-section-divider--faq,
.post-section-divider--related{
  margin-top: 36px;
  padding-top: 28px;
}
.post-section-header{
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}
.post-section-header--compact{
  gap: 10px;
}
.post-related-link{
  display: inline-flex;
  align-items: flex-start;
  text-decoration: none;
  line-height: 1.55;
}
.post-faq h3{
  margin-top: 7px;
}
.post-faq__list{
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.post-faq__question{
  margin: 0 0 10px;
}
.table-cell--left{
  text-align: left;
}
.table-cell--center,
.post-body .post-content .table-cell--center,
.preview-body .table-cell--center{
  text-align: center;
}
.table-cell--right,
.post-body .post-content .table-cell--right,
.preview-body .table-cell--right{
  text-align: right;
}
.post-author-card{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0 4px;
}
.post-author-card__avatar{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: block;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
}
.post-author-card__body{
  min-width: 0;
  display: grid;
}
.post-author-card__name{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #0f172a;
}
.post-author-card__meta{
  font-size: 14px;
  color: #64748b;
  line-height: 1.5;
}
.post-related__layout{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: "header action" "list list";
  gap: 16px 20px;
  align-items: end;
}
.post-section-header--related{
  gap: 12px;
  grid-area: header;
}
.post-related__action{
  grid-area: action;
  display: flex;
  justify-content: flex-end;
  align-self: end;
}
.post-related__list{
  display: grid;
  gap: 10px;
  margin-top: 16px;
  grid-area: list;
}
.post-card__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.post-body .post-content,
.preview-body{
  max-width: 820px;
  margin: 0 auto;
  font-size: 16.5px;
  line-height: 1.9;
  color: #1f2937;
  word-break: keep-all;
  overflow-wrap: break-word;
  counter-reset: none;
}
.preview-body p{
  color: #1e293b;
  margin: 0 0 19px;
  line-height: 1.9;
  letter-spacing: -0.01em;
}
.post-body .post-content p{
  margin: 0 0 19px;
  line-height: 1.9;
  letter-spacing: -0.01em;
}
.preview-body h2,
.post-body .post-content h2{
  display: block;
  margin: 58px 0 24px;
  padding: 0 0 16px;
  border-bottom: 1px solid #e5e7eb;
  background: transparent;
  color: #111827;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.04em;
  scroll-margin-top: 25px;
  counter-increment: none;
  word-break: keep-all;
}
.post-body .post-content h2:first-child,
.preview-body h2:first-child{
  margin-top: 10px;
  line-height: 1.2;
  word-break: keep-all;
}
.post-body .post-content h2::before,
.preview-body h2::before{
  content: none;
  display: none;
  line-height: 1.2;
  word-break: keep-all;
}
.preview-body h3,
.post-body .post-content h3{
  margin: 38px 0 15px;
  padding: 0 0 0 15px;
  border-left: 4px solid #2563EB;
  border-bottom: 0;
  background: transparent;
  color: #111827;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.035em;
  scroll-margin-top: 25px;
}
.preview-body h4{
  scroll-margin-top: 25px;
  margin: 30px 0 13px;
  padding: 11px 15px;
  border: 1px solid #DBEAFE;
  border-radius: 12px;
  background: #F8FBFF;
  color: #111827;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.025em;
}
.post-body .post-content h4{
  margin: 30px 0 13px;
  padding: 11px 15px;
  border: 1px solid #DBEAFE;
  border-radius: 12px;
  background: #F8FBFF;
  color: #111827;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.025em;
}
.post-body .post-content h3 + p,
.preview-body h3 + p,
.post-body .post-content h4 + p,
.preview-body h4 + p{
  margin-top: 6px;
}
.preview-body ul{
  padding: 0;
  margin: 16px 0 28px;
  padding-left: 28px;
  line-height: 1.85;
  color: #1f2937;
}
.post-body .post-content ul{
  margin: 16px 0 28px;
  padding-left: 28px;
  line-height: 1.85;
  color: #1f2937;
}
.preview-body ol{
  padding: 0;
  margin: 16px 0 28px;
  line-height: 1.85;
  color: #1f2937;
  padding-left: 30px;
}
.post-body .post-content ol{
  margin: 16px 0 28px;
  line-height: 1.85;
  color: #1f2937;
  padding-left: 30px;
}
.post-body .post-content li,
.preview-body li{
  margin: 9px 0;
  padding-left: 4px;
  line-height: 1.85;
}
.post-body .post-content li::marker,
.preview-body li::marker{
  color: #2563EB;
  font-weight: 500;
}
.preview-body blockquote,
.post-body .post-content blockquote{
  margin: 26px 0 30px;
  padding: 19px 21px;
  border-left: 5px solid #2563EB;
  border-radius: 16px;
  background: #EFF6FF;
  color: #1f2937;
}
.post-body .post-content blockquote p,
.preview-body blockquote p{
  margin: 0 0 9px;
  line-height: 1.8;
}
.post-body .table-wrap,
.preview-body .table-wrap,
.post-body .post-content .table-wrap{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 28px 0 36px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
}
.post-body table,
.preview-body table{
  overflow: hidden;
  width: max-content;
  min-width: 100%;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.65;
}
.post-body .post-content table{
  width: max-content;
  min-width: 100%;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.65;
}
.post-body table thead th,
.preview-body table thead th,
.post-body .post-content table thead th{
  background: #EFF6FF;
  color: #111827;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  border-bottom: 1px solid #e5e7eb;
}
.post-body table th,
.post-body table td,
.preview-body table th,
.preview-body table td,
.post-body .post-content table th,
.post-body .post-content table td{
  padding: 13px 15px;
  vertical-align: top;
  border-right: 1px solid #eef2f7;
}
.post-body .post-content table th:last-child,
.post-body .post-content table td:last-child,
.preview-body table th:last-child,
.preview-body table td:last-child,
.post-body table th:last-child,
.post-body table td:last-child{
  border-right: 0;
}
.post-body table tbody tr + tr td,
.preview-body table tbody tr + tr td,
.post-body .post-content table tbody tr + tr td{
  border-top: 1px solid #eef2f7;
}
.post-body .post-content table tbody tr:nth-child(even) td,
.preview-body table tbody tr:nth-child(even) td,
.post-body table tbody tr:nth-child(even) td{
  background: #F8FBFF;
}
.preview-body code,
.post-body .post-content code{
  background: #f1f5f9;
  color: #0f172a;
  padding: 3px 7px;
  border-radius: 8px;
  font-size: .92em;
}
.preview-body a{
  color: #1d4ed8;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.post-body .post-content a{
  text-underline-offset: 3px;
}
.post-h2-prefix{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 5px 10px;
  border: 1px solid rgba(15, 23, 42, 0.045);
  border-radius: 999px;
  background: #f7faff;
  color: #111827;
  font-size: 0.56em;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.012em;
  text-decoration: none;
  white-space: normal;
}
.post-h2-text{
  display: block;
  min-width: 0;
}
.post-hero--product .post-cover-wrap{
  margin: 0;
  width: 100%;
  aspect-ratio: 16/7;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(91,124,255,.10), rgba(37,99,235,.08));
}
.post-hero--product .post-cover{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}
.post-hero-product-panel{
  --post-hero-kicker-title-gap: 10px;
  --post-hero-title-subtitle-gap: 6px;
  --post-hero-subtitle-summary-gap: 16px;
  --post-hero-title-summary-gap: 14px;
  --post-hero-summary-pills-gap: 18px;
  --post-hero-subtitle-pills-gap: 17px;
  --post-hero-title-pills-gap: 15px;
  --post-hero-pills-cta-gap: 21px;
  --post-hero-summary-cta-gap: 20px;
  --post-hero-subtitle-cta-gap: 18px;
  --post-hero-title-cta-gap: 19px;
  --post-hero-cta-admin-gap: 12px;
  width: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 32px 28px 34px;
  text-align: center;
}
.post-hero-kicker{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 var(--post-hero-kicker-title-gap);
  color: #5368d6;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
}
.post-hero-kicker a,
.post-hero-kicker span{
  display: inline-flex;
  align-items: center;
}
.post-hero-subtitle{
  margin: 0;
  color: #7a8192;
  font-size: 17px;
  line-height: 1.45;
  letter-spacing: .01em;
}
.post-hero-product-title + .post-hero-subtitle{
  margin-top: var(--post-hero-title-subtitle-gap);
}
.post-hero-subtitle + .post-hero-product-summary{
  margin-top: var(--post-hero-subtitle-summary-gap);
  margin-bottom: 1em;
}
.post-hero-product-title + .post-hero-product-summary{
  margin-top: var(--post-hero-title-summary-gap);
}
.post-hero-info-pills{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: var(--post-hero-title-pills-gap);
}
.post-hero-subtitle + .post-hero-info-pills{
  margin-top: var(--post-hero-subtitle-pills-gap);
}
.post-hero-product-summary + .post-hero-info-pills{
  margin-top: var(--post-hero-summary-pills-gap);
}
.post-hero-cta-row{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: var(--post-hero-title-cta-gap);
}
.post-hero-info-pills + .post-hero-cta-row{
  margin-top: var(--post-hero-pills-cta-gap);
}
.post-hero-product-summary + .post-hero-cta-row{
  margin-top: var(--post-hero-summary-cta-gap);
}
.post-hero-subtitle + .post-hero-cta-row{
  margin-top: var(--post-hero-subtitle-cta-gap);
}
.post-hero-cta:hover{
  transform: translateY(-1px);
  background: #111827;
}
.post-hero-cta:focus-visible{
  outline: 3px solid rgba(91,124,255,.32);
  outline-offset: 3px;
}
.post-hero-cta__icon{
  font-size: 18px;
  line-height: 1;
  transform: translateY(2px);
}
.post-hero-admin-actions{
  margin-top: var(--post-hero-cta-admin-gap);
  justify-content: center;
}
.post-body-head{
  max-width: 820px;
  margin: 0 auto 34px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e5e7eb;
}
.post-body-title{
  margin: 0 !important;
  font-size: clamp(25px,4.6vw,35px);
  line-height: 1.2;
  letter-spacing: -1.35px;
  color: #111827;
  font-weight: 500;
}
.post-hero{
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-color: var(--border);
  background: #ffffff;
}
.post-body{
  padding: 26px;
  border-color: var(--border);
  background: #ffffff;
}
.post-side .card{
  border-color: var(--border);
  background: #ffffff;
}
.post-card--row{
  display: grid;
  grid-template-columns: minmax(260px,320px) minmax(0,1fr);
  align-items: stretch;
  gap: 20px;
  padding: 18px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease;
  border-radius: 28px;
}
.post-cover{
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 28px;
}
.post-card__thumb{
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 22px;
  background: linear-gradient(135deg, #F8FBFF, #DBEAFE);
}
.post-card__thumb-placeholder{
  width: 100%;
  height: 100%;
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 16px;
  text-align: center;
  font-weight: 500;
  color: #475569;
  border-radius: 22px;
  background: linear-gradient(135deg, #F8FBFF, #DBEAFE);
}
.post-card__title{
  font-size: 28px;
  line-height: 1.25;
  font-weight: 400;
  color: #102A45;
  letter-spacing: -0.045em;
}
.post-title{
  max-width: 900px;
  color: #102A45;
  letter-spacing: -0.045em;
}
.post-hero-product-title{
  max-width: 880px;
  margin: 0;
  font-size: clamp(25px,5vw,30px);
  line-height: 1.05;
  font-weight: 500;
  color: #102A45;
  letter-spacing: -0.045em;
}
.post-card__summary{
  font-size: 15px;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: calc(1.8em * 3);
  overflow-wrap: anywhere;
  color: #5f5951;
  word-break: keep-all;
}
.post-summary{
  font-size: 16px;
  color: #5f5951;
  word-break: keep-all;
}
.post-body p{
  line-height: 1.9;
  margin: 0 0 20px 0;
  color: #5f5951;
  word-break: keep-all;
}
.post-hero-product-summary{
  max-width: 550px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.85;
  color: #5f5951;
  word-break: keep-all;
}
.post-body li{
  color: #5f5951;
  word-break: keep-all;
}
.post-body h4{
  line-height: 1.3;
  margin: 26px 0 12px;
  color: #102A45;
  letter-spacing: -0.04em;
}
.post-body h1{
  line-height:1.2;
  margin: 26px 0 12px;
  color: #102A45;
  letter-spacing: -0.04em;
  word-break: keep-all;
}
.post-body h2,
.post-body h3{
  margin: 26px 0 12px;
  scroll-margin-top: 25px;
  color: #102A45;
  letter-spacing: -0.04em;
  font-weight: 500;
  line-height: 1.2;
  word-break: keep-all;
}
.post-body blockquote{
  margin: 22px 0;
  padding: 18px;
  border-radius: 16px;
  background: #F8FBFF;
  border: 1px solid rgba(37, 99, 235, 0.12);
}
.post-hero--product{
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #f7f8fc;
  border-radius: 32px;
}
.tag-chip{
  display: inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  background: #EFF6FF;
  color: #174C78;
}
.post-hero-info-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  background: #EFF6FF;
  color: #174C78;
}
.post-hero-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 218px;
  min-height: 54px;
  padding: 14px 24px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  transition: transform .18s ease, background .18s ease;
  background: #102A45;
  border-radius: 999px;
}

/* =========================================================
   7. Affiliate CTA
========================================================= */
.affiliate-links-box{
  margin-top: 18px;
}
.affiliate-links-box__head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.affiliate-items-stack{
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.affiliate-item-card{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
}
.affiliate-item-card__top{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.affiliate-item-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px 14px;
}
.affiliate-links-box__actions{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.preview-affiliate-card::before,
.post-affiliate-card::before{
  content: "제휴 상품";
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.preview-affiliate-card__media,
.post-affiliate-card__media{
  width: 100%;
  align-self: stretch;
}
.preview-affiliate-card__media img,
.post-affiliate-card__img{
  width: 100%;
  height: 100%;
  min-height: 168px;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 18px;
  display: block;
  background: #f3f6fb;
}
.preview-affiliate-card__placeholder,
.post-affiliate-card__placeholder{
  height: 100%;
  min-height: 168px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(135deg,#eef4ff,#f8fafc);
  color: #64748b;
  font-size: 13px;
  border: 1px dashed rgba(100,116,139,.25);
}
.preview-affiliate-card__content,
.post-affiliate-card__content{
  display: grid;
  gap: 12px;
  align-content: center;
}
.preview-affiliate-card__title,
.post-affiliate-card__title{
  margin: 0;
  font-size: 21px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #0f172a;
}
.preview-affiliate-card__prices,
.post-affiliate-card__prices{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
}
.preview-affiliate-card__price-label{
  color: #64748b;
  font-size: 13px;
}
.post-affiliate-card__current{
  color: #64748b;
  font-weight: 500;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.preview-affiliate-card__sale,
.post-affiliate-card__sale{
  color: #dc2626;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.03em;
}
.preview-affiliate-card__discount,
.post-affiliate-card__discount{
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff1f2;
  color: #be123c;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid rgba(244,63,94,.15);
}
.preview-affiliate-card__button.is-disabled,
.post-affiliate-card__button.is-disabled{
  opacity: .5;
  pointer-events: none;
}
.preview-affiliate-card,
.post-affiliate-card{
  display: grid;
  grid-template-columns: 168px minmax(0,1fr);
  gap: 20px;
  align-items: stretch;
  border: 1px solid rgba(15,23,42,.08);
  padding: 18px;
  background: linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  margin: 22px 0;
  overflow: hidden;
  position: relative;
  border-radius: 28px;
}
.preview-affiliate-card__button,
.post-affiliate-card__button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  background: #102A45;
  border-radius: 999px;
}
.affiliate-cta-editor-card .small{
  color: #64748B;
}
.affiliate-cta-list{
  display: grid;
  gap: 12px;
}
.affiliate-cta-editor-item{
  padding: 14px;
  border: 1px solid #DBEAFE;
  border-radius: 18px;
  background: #F8FBFF;
}
.affiliate-cta-editor-item__head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.affiliate-cta-editor-item__head strong{
  color: #102A45;
  font-size: 14px;
}
.affiliate-cta-editor-item__remove{
  min-height: 34px;
  padding: 0 12px;
  font-size: 13px;
}
.preview-affiliate-cta,
.post-affiliate-cta{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 28px 0;
  padding: 0;
  text-align: center;
}
.preview-affiliate-cta__button,
.post-affiliate-cta__button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 360px);
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  background: #102A45;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: -0.025em;
}
.preview-affiliate-cta__button.is-disabled,
.post-affiliate-cta__button.is-disabled{
  opacity: .48;
  pointer-events: none;
}

/* =========================================================
   8. About Page
========================================================= */
.ww-reveal{
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}
.ww-reveal.ww-active{
  opacity: 1;
  transform: translateY(0);
}
.ww-hero-title span{
  display: block;
}
.ww-hero-flex{
  margin-top: 60px;
  display: flex;
  justify-content: flex-end;
}
.ww-section{
  padding: var(--ww-spacing) 0;
}
.ww-section-border{
  border-bottom: 1px solid var(--ww-line-light);
}
.ww-split-grid{
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
}
.ww-big-text{
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.04em;
}
.ww-big-text strong{
  color: var(--ww-text);
  text-decoration: underline;
  text-underline-offset: 8px;
}
.ww-topic-num{
  font-family: "Darker Grotesque", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
}
.ww-value-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 60px;
}
.ww-value-card h3{
  font-size: 1.5rem;
  margin-bottom: 20px;
  font-weight: 500;
}
.ww-quote-text{
  font-size: clamp(2.5rem, 6vw, 6rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.05em;
}
.ww-cta{
  text-align: center;
  padding: 150px 0;
}
body.ww-wrapper{
  background-color: #fff !important;
}
.ww-wrapper{
  background-color: var(--ww-bg);
  font-family: "Noto Sans KR", sans-serif;
  line-height: 1.6;
  word-break: keep-all;
  -webkit-font-smoothing: antialiased;
  --ww-bg: #ffffff;
  --ww-text: #102A45;
  --ww-text-sub: #64748B;
  --ww-line-light: rgba(16, 42, 69, 0.11);
  --ww-spacing: clamp(86px, 10vw, 130px);
  background: #ffffff !important;
  color: var(--ww-text);
}
.ww-container{
  margin: 0 auto;
  width: min(1200px, calc(100% - 32px));
}
.ww-hero{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 82vh;
  border-bottom: 1px solid var(--ww-line-light);
  background: radial-gradient(circle at 82% 18%, rgba(37, 99, 235, 0.16), transparent 24rem),
    linear-gradient(135deg, #ffffff 0%, #F8FBFF 64%, #EEF7FF 100%);
}
.ww-hero-title{
  font-family: "Darker Grotesque", sans-serif;
  font-size: clamp(4rem, 16vw, 14rem);
  line-height: 0.85;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0;
  color: var(--ww-text);
  letter-spacing: -0.065em;
}
.ww-topic-title{
  font-family: "Darker Grotesque", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--ww-text);
  letter-spacing: -0.065em;
}
.ww-hero-desc{
  max-width: 450px;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--ww-text-sub);
  line-height: 1.75;
  word-break: keep-all;
}
.ww-topic-desc{
  font-size: 1.05rem;
  align-self: center;
  color: var(--ww-text-sub);
  line-height: 1.75;
  word-break: keep-all;
}
.ww-value-card p{
  font-size: 1rem;
  color: var(--ww-text-sub);
  line-height: 1.75;
  word-break: keep-all;
}
.ww-cta-desc{
  margin-top: 50px;
  max-width: 600px;
  margin-inline: auto;
  font-size: 1rem;
  color: var(--ww-text-sub);
  line-height: 1.75;
  word-break: keep-all;
}
.ww-text-sub{
  color: var(--ww-text-sub);
  line-height: 1.75;
  word-break: keep-all;
}
.ww-label-tag{
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
  border: 1px solid var(--ww-text);
  padding: 4px 12px;
  border-radius: 50px;
  border-color: rgba(37, 99, 235, 0.22);
  background: #F8FBFF;
  color: #174C78;
}
.ww-topic-list{
  margin-top: 40px;
  border-top: 1px solid rgba(16, 42, 69, 0.18);
}
.ww-topic-row{
  display: grid;
  grid-template-columns: 80px 1.5fr 1fr;
  padding: 50px 0;
  border-bottom: 1px solid var(--ww-line-light);
}
.ww-value-card{
  border-left: 1px solid var(--ww-text);
  padding-left: 25px;
  border-left-color: rgba(16, 42, 69, 0.18);
}
.ww-quote-wrap{
  text-align: center;
  padding: 120px 0;
  background: #102A45;
  color: #F8FBFF;
}
.ww-big-btn{
  font-family: "Darker Grotesque", sans-serif;
  font-size: clamp(3rem, 10vw, 8rem);
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  line-height: 0.9;
  color: var(--ww-text);
  letter-spacing: -0.065em;
  text-decoration-thickness: 2px;
  text-underline-offset: 10px;
}
.ww-footer{
  padding: 80px 0 40px;
  display: flex;
  justify-content: space-between;
  font-size: 0.8rem;
  border-top: 1px solid var(--ww-line-light);
  border-top-color: var(--ww-line-light);
  color: #94A3B8;
}

/* =========================================================
   9. Editor / Admin
========================================================= */
.editor-textarea{
  min-height: 340px;
}
.editor-summary-markdown{
  min-height: 150px;
  line-height: 1.7;
  resize: vertical;
}
.editor-layout{
  display: grid;
  gap: 16px;
  align-items: start;
}
.seo-panel{
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: sticky;
  top: 86px;
}
.seo-panel__top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.seo-eyebrow{
  font-weight: 500;
  color: #1d4ed8;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.seo-score-wrap{
  text-align: right;
  min-width: 82px;
}
.seo-score{
  width: 72px;
  height: 72px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 24px;
  font-weight: 500;
  border: 6px solid rgba(91,124,255,.15);
  background: linear-gradient(135deg, rgba(91,124,255,.12), rgba(37,99,235,.10));
}
.seo-score[data-grade="매우 좋음"]{
  border-color: rgba(37,99,235,.3);
}
.seo-score[data-grade="좋음"]{
  border-color: rgba(91,124,255,.3);
}
.seo-score[data-grade="보통"]{
  border-color: rgba(96,165,250,.28);
}
.seo-score[data-grade="점검 필요"]{
  border-color: rgba(239,68,68,.28);
}
.seo-keyword-box{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(91,124,255,.05);
  border: 1px solid rgba(91,124,255,.12);
}
.seo-checklist,
.category-manager__create,
.admin-auth-card__head{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.seo-check--good,
.seo-check--grouped{
  background: rgba(37,99,235,.08);
  border-color: rgba(37,99,235,.18);
}
.seo-check--warn{
  background: rgba(96,165,250,.09);
  border-color: rgba(96,165,250,.18);
}
.seo-check--bad{
  background: rgba(239,68,68,.08);
  border-color: rgba(239,68,68,.18);
}
.seo-check__head{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  margin-bottom: 6px;
}
.seo-check__head--stacked{
  margin-bottom: 10px;
}
.seo-check__rows{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.seo-check__row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 2px;
}
.seo-check__row-label{
  font-size: 14px;
  color: #64748b;
}
.seo-check__row-status{
  font-size: 13px;
  font-weight: 500;
}
.seo-check__row-status--good{
  color: #2563EB;
}
.seo-check__row-status--warn{
  color: #174C78;
}
.seo-check__row-status--bad{
  color: #991b1b;
}
.seo-check__summary{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.65);
  font-size: 13px;
  line-height: 1.5;
  color: #334155;
}
.seo-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
}
.seo-pill--good{
  background: rgba(37,99,235,.12);
  color: #2563EB;
}
.seo-pill--warn{
  background: rgba(96,165,250,.16);
  color: #174C78;
}
.seo-pill--bad{
  background: rgba(239,68,68,.15);
  color: #991b1b;
}
.seo-tip-box,
.ad-settings-box{
  margin-top: 4px;
}
.label-row{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
  min-height: 38px;
}
.label-row--compact{
  justify-content: flex-start;
}
.count-indicator{
  font-weight: 500;
  white-space: nowrap;
}
.count-indicator.is-good{
  color: #15803d;
}
.count-indicator.is-warn{
  color: #b45309;
}
.count-indicator.is-bad{
  color: #94a3b8;
}
.editor-head-row,
.toc-toolbar__controls--checkbox{
  gap: 12px;
}
.preview-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.36);
  backdrop-filter: blur(2px);
  z-index: 70;
}
.preview-drawer{
  position: fixed;
  top: 0;
  right: 0;
  width: min(50vw,920px);
  height: 100vh;
  background: #f8fbff;
  border-left: 1px solid var(--border);
  z-index: 80;
  transform: translateX(100%);
  transition: transform .26s ease;
  display: flex;
  flex-direction: column;
  padding: 18px;
}
.preview-drawer.is-open{
  transform: translateX(0);
}
.preview-drawer__header{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
.preview-actions{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.preview-device-switch{
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.btn--device{
  padding: 8px 12px;
  font-size: 13px;
}
.btn--device.is-active{
  background: var(--brand);
  color: #fff;
  border-color: transparent;
}
.preview-stage{
  flex: 1;
  overflow: auto;
  padding: 12px 4px 4px;
}
.preview-frame{
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 24px;
  overflow: hidden;
  transition: width .2s ease;
}
.preview-frame--pc{
  width: min(100%,960px);
}
.preview-frame--tablet{
  width: min(100%,820px);
}
.preview-frame--mobile{
  width: min(100%,430px);
}
.preview-page{
  background: #fff;
  min-height: 100%;
  padding: 22px;
}
.preview-article,
.preview-post-card,
.admin-auth-form{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.preview-article__head,
.category-manager__list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.preview-title{
  font-size: clamp(28px,3vw,42px);
  line-height: 1.18;
  margin: 0;
  letter-spacing: -.04em;
}
.preview-summary{
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}
.preview-summary--markdown p,
.preview-summary--markdown ul,
.preview-summary--markdown ol,
.preview-summary--markdown blockquote{
  margin: 0;
}
.preview-summary--markdown p + p,
.preview-summary--markdown p + ul,
.preview-summary--markdown p + ol,
.preview-summary--markdown ul + p,
.preview-summary--markdown ol + p{
  margin-top: 10px;
}
.preview-summary--markdown ul,
.preview-summary--markdown ol{
  padding-left: 20px;
}
.preview-summary--markdown strong{
  color: var(--text);
  font-weight: 600;
}
.preview-cover{
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid var(--border);
}
.preview-figure{
  margin: 20px 0;
}
.preview-figure img{
  width: 100%;
  border-radius: 18px;
  border: 1px solid var(--border);
}
.preview-empty{
  color: var(--muted);
}
.preview-snippet{
  padding: 16px 18px;
  border: 1px solid rgba(91,124,255,.12);
  background: linear-gradient(180deg,#f8fbff,#ffffff);
  border-radius: 20px;
}
.preview-snippet__label{
  font-weight: 500;
  color: #2563eb;
  margin-bottom: 10px;
}
.preview-snippet__title{
  font-size: 24px;
  line-height: 1.3;
  color: #1a0dab;
  font-weight: 500;
  margin-bottom: 6px;
}
.preview-snippet__url{
  font-size: 14px;
  line-height: 1.5;
  color: #188038;
  margin-bottom: 6px;
  word-break: break-all;
}
.preview-snippet__desc{
  font-size: 14px;
  line-height: 1.7;
  color: #4b5563;
}
.seo-tabs,
.dashboard-category-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.seo-tab{
  appearance: none;
  border: 1px solid rgba(91,124,255,.16);
  background: #fff;
  color: #334155;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: .2s ease;
}
.seo-tab.is-active{
  background: #1d4ed8;
  color: #fff;
  border-color: #1d4ed8;
}
.ad-toggle-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.ad-toggle-item{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  font-size: 14px;
  font-weight: 500;
}
.ad-toggle-item input{
  inline-size: 16px;
  block-size: 16px;
}
.toc-toolbar{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 4px 0 0;
}
.toc-toolbar__controls{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.toc-toolbar .input{
  width: auto;
  min-width: 180px;
}
.checkbox-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
  color: #111827;
}
.checkbox-chip input{
  margin: 0;
  width: 16px;
  height: 16px;
}
.checkbox-chip:has(input:checked){
  border-color: #5B7CFF;
  background: #eef2ff;
  color: #1e3a8a;
}
.editor-status-field{
  width: 100%;
  max-width: 240px;
}
.editor-meta-grid{
  align-items: end;
  gap: 18px;
}
.editor-field-group{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.form-card .notice{
  margin-top: 2px;
}
.form-card textarea.input{
  line-height: 1.7;
}
.label-row--between{
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}
.label-row--between .small{
  flex: 1 1 auto;
  min-width: 0;
}
.modal-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
  z-index: 80;
}
.modal-sheet{
  position: fixed;
  top: 50%;
  left: 50%;
  width: min(680px, calc(100vw - 32px));
  max-height: min(80vh, 760px);
  overflow: hidden;
  transform: translate(-50%, -50%) scale(0.98);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
  background: #fff;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  z-index: 81;
}
.modal-sheet.is-open{
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}
.modal-sheet__header{
  padding: 22px 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.modal-sheet__body{
  padding: 22px 24px;
  overflow: auto;
  max-height: calc(80vh - 90px);
}
.category-manager__create-row{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.category-manager__item{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 18px;
  background: #f8fafc;
}
.category-manager__name{
  display: flex;
  align-items: center;
  min-height: 42px;
  font-weight: 500;
}
.category-manager__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.category-manager__empty{
  padding: 18px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px dashed rgba(148, 163, 184, 0.45);
}
.inline-image-box{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.inline-image-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 4px;
}
.inline-image-card{
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.inline-image-fields,
.travel-settings-manager__section{
  display: grid;
  gap: 12px;
}
.inline-image-fields[hidden]{
  display: none !important;
}

.inline-image-source-switch{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.inline-image-source-option{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
}
.inline-image-source-option.is-active{
  border-color: #111;
  background: #f7f7f7;
}
.inline-image-source-option input{
  margin: 0;
}
.inline-image-box__description{
  margin: -4px 0 0;
}
.inline-image-source-panel{
  display: grid;
  gap: 14px;
}
.inline-image-source-panel[hidden]{
  display: none;
}
.inline-image-panel-heading{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.inline-image-agoda-html{
  min-height: 112px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.55;
}
.inline-image-parse-status{
  min-height: 18px;
}
.inline-image-parse-status[data-state="success"]{
  color: #0b7a3e;
}
.inline-image-parse-status[data-state="error"]{
  color: #b42318;
}
.preview-inline-image__link,
body.post-page-body .post-inline-image__link{
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  line-height: 0;
  text-decoration: none;
}
@media (max-width: 720px){
  .inline-image-source-switch{
    grid-template-columns: 1fr;
  }
}

.admin-auth-page{
  min-height: calc(100vh - 180px);
  display: grid;
  place-items: center;
}
.admin-auth-card{
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.topbar-admin-badge{
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(17,24,39,.08);
  color: #374151;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.posts-sidebar__dashboard-title{
  display: flex;
  align-items: center;
  gap: 8px;
}
.posts-sidebar__dashboard-title::after{
  content: "→";
  font-size: 14px;
  color: #6b7280;
}
[data-dashboard-link]{
  cursor: pointer;
}
.dashboard-shell{
  padding-top: 16px;
  padding-bottom: 32px;
}
.dashboard-hero{
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr);
  gap: 20px;
  align-items: stretch;
}
.dashboard-stats{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
.dashboard-stat{
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  padding: 16px 14px;
}
.dashboard-stat__label{
  font-size: 13px;
  color: #64748b;
  margin-bottom: 8px;
}
.dashboard-stat__value{
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
  color: #111827;
}
.dashboard-grid{
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
  gap: 16px;
  align-items: start;
}
.dashboard-side{
  display: grid;
  gap: 16px;
}
.dashboard-panel{
  padding: 18px;
}
.dashboard-panel__head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.dashboard-popular,
.dashboard-recent{
  list-style: none;
  margin: 0;
  padding: 0;
}
.dashboard-popular__item,
.dashboard-recent__item{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid #eef2f7;
}
.dashboard-popular__item:first-child,
.dashboard-recent__item:first-child{
  border-top: 0;
  padding-top: 0;
}
.dashboard-popular__item a,
.dashboard-recent__item a{
  color: #0f172a;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.5;
  font-size: 15px;
}
.dashboard-post-actions{
  margin-top: 2px;
  justify-content: flex-start;
}
.dashboard-popular__main{
  min-width: 0;
  display: grid;
  gap: 6px;
}
.dashboard-popular__meta{
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
}
.dashboard-popular__views,
.dashboard-recent__meta{
  font-size: 12px;
  color: #64748b;
  white-space: nowrap;
  flex-shrink: 0;
}
.dashboard-quick-links{
  display: grid;
  gap: 10px;
}
.dashboard-quick-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  color: #111827;
  text-decoration: none;
  font-weight: 500;
}
.dashboard-quick-link::after{
  content: "→";
  font-size: 14px;
  color: #94a3b8;
}
.dashboard-category-chips .chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #334155;
}
.editor-top-controls{
  display: grid;
  grid-template-columns: minmax(180px,240px) minmax(240px,1fr);
  gap: 16px;
  align-items: end;
}
.editor-category-field{
  width: 100%;
}
.editor-category-control{
  display: flex;
  gap: 8px;
  align-items: center;
}
.editor-category-control .input{
  flex: 1;
}
.seo-check__summary-list{
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.seo-check__summary-list li{
  color: #334155;
  line-height: 1.5;
}
.seo-check__subsection,
.travel-settings-manager .category-manager__list{
  margin-top: 12px;
}
.seo-check__subheading{
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  margin: 0 0 8px;
}
.seo-check__summary-list--nested{
  margin-top: 0;
}
.modal-sheet--travel-settings{
  width: min(920px, calc(100vw - 32px));
}
.travel-settings-manager{
  display: grid;
  gap: 18px;
}
.travel-settings-manager__section .h2{
  margin: 0;
  line-height: 1.2;
  word-break: keep-all;
}
.travel-settings-manager__create-row--3{
  grid-template-columns: 1fr 1fr auto;
}
.preview-hotel-hero-panel{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 28px 20px 30px;
  text-align: center;
  background: linear-gradient(180deg,#f8f9ff 0%,#f7f8fc 100%);
  border-bottom: 1px solid #edf0f7;
}
.preview-hotel-hero-kicker{
  color: #5368d6;
  font-size: 12px;
  font-weight: 500;
}
.preview-hotel-hero-title{
  font-size: clamp(30px,5vw,44px);
  line-height: 1.08;
  letter-spacing: -1.25px;
  color: #111827;
  font-weight: 500;
}
.preview-hotel-hero-subtitle{
  margin: 0;
  color: #7a8192;
  font-size: 15px;
  line-height: 1.4;
}
.preview-hotel-hero-pills,
.preview-hotel-hero-buttons{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 5px;
}
.preview-hotel-hero-pills span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  color: #4b5563;
  font-size: 11px;
  font-weight: 500;
}
.preview-hotel-hero-buttons span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 178px;
  min-height: 44px;
  padding: 12px 18px;
  border-radius: 8px;
  background: #050505;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
.form-card{
  display: flex;
  flex-direction: column;
  gap: 22px;
  border-color: var(--border);
  background: #ffffff;
}
.seo-check{
  padding: 12px 13px;
  border-radius: 18px;
  border: 1px solid var(--border);
  border-color: var(--border);
  background: #ffffff;
}

/* =========================================================
   10. Utilities
========================================================= */
.adsbygoogle--block{
  display: block;
}

/* =========================================================
   Keyframes & External At-rules
========================================================= */
@keyframes skeleton-shimmer{100%{transform:translateX(100%)}}

/* =========================================================
   11. Responsive Rules
   화면 크기별 보정값은 하단에 모아 관리합니다.
========================================================= */
@media (max-width: 1023px) {
  body{
    font-size: 16px;
  }
  h1{
    font-size: 2.75rem;
  word-break: keep-all;
  }
  h2{
    font-size: 1.875rem;
  line-height: 1.2;
  word-break: keep-all;
  }
  h3{
    font-size: 1.375rem;
  }
}

@media (max-width: 767px) {
  body{
    font-size: 16px;
  }
  h1{
    font-size: 1.9rem;
  word-break: keep-all;
  }
  h2{
    font-size: 1.4rem;
  line-height: 1.2;
  word-break: keep-all;
  }
  h3{
    font-size: 1.125rem;
  }
  .card{
    border: none;
    padding: 10px;
  }
  .post-body{
    padding: 10px;
  }
  .post-hero--product{
    border: 1px solid var(--border);
    border-radius: 22px;
  }
  .post-hero-product-panel{
    --post-hero-kicker-title-gap: 9px;
    --post-hero-title-subtitle-gap: 5px;
    --post-hero-subtitle-summary-gap: 12px;
    --post-hero-title-summary-gap: 11px;
    --post-hero-summary-pills-gap: 15px;
    --post-hero-subtitle-pills-gap: 13px;
    --post-hero-title-pills-gap: 14px;
    --post-hero-pills-cta-gap: 17px;
    --post-hero-summary-cta-gap: 16px;
    --post-hero-subtitle-cta-gap: 15px;
    --post-hero-title-cta-gap: 18px;
    --post-hero-cta-admin-gap: 10px;
    padding: 24px 16px 26px;
  }
  .post-hero-kicker{
    font-size: 12px;
  }
  .post-hero-product-title{
    font-size: 31px;
    line-height: 1.1;
  }
  .post-hero-subtitle{
    font-size: 15px;
  }
  .post-hero-product-summary{
    font-size: 14px;
    line-height: 1.75;
  }
  .post-hero-info-pills{
    gap: 8px;
  }
  .post-hero-info-pill{
    min-height: 28px;
    padding: 6px 11px;
    font-size: 11px;
  }
  .post-hero-cta-row{
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
  .post-hero-cta{
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
}

@media (min-width:860px) {
  .grid--2{
    grid-template-columns: 1.1fr .9fr;
  }
  .grid--3{
    grid-template-columns: repeat(3,1fr);
  }
  .grid--4{
    grid-template-columns: repeat(4,1fr);
  }
}

@media (min-width:960px) {
  .hero{
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
  }
}

@media (min-width:980px) {
  .post-grid{
    grid-template-columns: minmax(0,1fr) 320px;
    align-items: start;
  }
}

@media (min-width:1080px) {
  .editor-layout{
    grid-template-columns: minmax(0,1fr) 340px;
  }
}

@media (max-width:1080px) {
  .preview-drawer{
    width: min(92vw,920px);
  }
}

@media (max-width:720px) {
  .preview-drawer{
    width: 100vw;
    padding: 14px;
  }
  .preview-drawer__header{
    flex-direction: column;
  }
  .preview-actions{
    justify-content: flex-start;
  }
  .preview-page{
    padding: 16px;
  }
  .ad-toggle-grid{
    grid-template-columns: 1fr;
  }
  .post-ad--inline,
.post-ad--sidebar{
    min-height: 280px;
  }
  .post-card--row{
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .post-card__thumb--row,
.post-card__thumb-placeholder{
    min-height: 200px;
  }
  .post-card__title{
    font-size: 22px;
  }
  .posts-sidebar__summary{
    grid-template-columns: 1fr 1fr 1fr;
  }
  .skeleton-box--media{
    min-height: 180px;
  }
  .skeleton-box--title{
    width: 92%;
  }
  .skeleton-box--button{
    width: 96px;
    height: 40px;
  }
  .travel-list__actions{
    width: 100%;
    justify-content: flex-start;
  }
  .post-author-card__actions{
    width: 100%;
    margin-left: 50px;
    justify-content: flex-start;
  }
  .post-author-card{
    align-items: flex-start;
    flex-wrap: wrap;
    padding-top: 15px;
  }
  .post-author-card__name{
    font-size: 18px;
  }
  .post-author-card__meta{
    font-size: 13px;
  }
  .post-related__layout{
    grid-template-columns: 1fr;
    grid-template-areas: "header" "list" "action";
    gap: 14px;
  }
  .post-related__action{
    justify-content: stretch;
  }
  .post-related__more-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    color: #0f172a;
    font-weight: 500;
  }
  .post-related__more-btn::after{
    content: "→";
    font-size: 15px;
    line-height: 1;
    transform: translateY(-1px);
  }
  .post-related__more-btn:hover{
    transform: translateY(-1px);
  }
  .post-related__more-btn:active{
    transform: none;
  }
}

@media (max-width:768px) {
  .toc-toolbar{
    align-items: flex-start;
  }
  .toc-toolbar .input{
    min-width: 150px;
    width: 100%;
  }
  .toc-toolbar__controls{
    width: 100%;
  }
  .post-toc__summary{
    padding: 16px;
  }
  .post-toc__body{
    padding: 15px;
  }
  .post-toc__summary-meta::after{
    min-width: 58px;
    padding: 7px 10px;
    font-size: 12px;
  }
  .post-body h2,
.post-body h3{
    scroll-margin-top: 25px;
  line-height: 1.2;
  word-break: keep-all;
  }
  .topbar-admin-badge{
    font-size: 10px;
    padding: 3px 7px;
  }
  
  .posts-home-hero{
    padding: 26px 20px;
    border-radius: 24px;
  }
  .posts-home-hero__desc{
    font-size: 15px;
  }
  .topbar-categories__list{
    padding-left: 18px;
    padding-right: 18px;
  }
  
}

@media (max-width: 768px) {
  .editor-status-field{
    width: 100%;
    max-width: none;
  }
  .editor-top-controls{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .editor-meta-grid,
.breadcrumb.small ol{
    gap: 16px;
  }
  .label-row--between{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .modal-sheet{
    width: calc(100vw - 20px);
    border-radius: 20px;
  }
  .modal-sheet__header,
.modal-sheet__body{
    padding: 18px;
  }
  .category-manager__create-row,
.category-manager__item{
    grid-template-columns: 1fr;
  }
  .category-manager__actions{
    justify-content: flex-start;
  }
  .breadcrumb.small{
    margin: 5px 12px !important;
    font-size: 12px;
    line-height: 1.35;
  }
  .breadcrumb.small li + li::before{
    left: -11px;
  }
  .post-faq__list{
    gap: 0;
  }
  .post-body{
    padding: 16px;
  }
  .post-body .post-content,
.preview-body{
    max-width: 100%;
    font-size: 15.5px;
    line-height: 1.85;
  }
  .post-body .post-content p,
.preview-body p{
    margin-bottom: 17px;
    line-height: 1.85;
  }
  .post-body .post-content h2,
.preview-body h2{
    margin: 44px 0 20px;
    padding-bottom: 13px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.04em;
  word-break: keep-all;
  }
  .post-body .post-content h3,
.preview-body h3{
    margin-top: 32px;
    padding-left: 12px;
    font-size: 18.5px;
    font-weight: 500;
    line-height: 1.5;
  }
  .post-body .post-content h4,
.preview-body h4{
    margin-top: 26px;
    padding: 10px 13px;
    font-size: 16px;
  }
  .post-body .post-content ul,
.post-body .post-content ol,
.preview-body ul,
.preview-body ol{
    padding-left: 23px;
    margin-bottom: 24px;
  }
  .post-body .post-content blockquote,
.preview-body blockquote{
    margin: 22px 0 26px;
    padding: 16px 17px;
    border-radius: 14px;
  }
  .post-body .post-content .table-wrap,
.preview-body .table-wrap,
.post-body .table-wrap{
    margin: 24px 0 30px;
    border-radius: 14px;
  }
  .post-body table,
.preview-body table,
.post-body .post-content table{
    min-width: 620px;
    font-size: 14px;
  }
  .post-body table th,
.post-body table td,
.preview-body table th,
.preview-body table td,
.post-body .post-content table th,
.post-body .post-content table td{
    padding: 12px 13px;
  }
  .post-h2-prefix{
    padding: 5px 9px;
    font-size: 0.58em;
    white-space: normal;
  }
}

@media (max-width: 900px) {
  .inline-image-grid,
.affiliate-item-grid{
    grid-template-columns: 1fr;
  }
  .ww-split-grid,
.ww-value-grid{
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .ww-topic-row{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 40px 0;
  }
  .ww-hero-title{
    font-size: 20vw;
  }
  .ww-hero-flex{
    justify-content: flex-start;
    margin-top: 40px;
  }
  .ww-topic-title{
    font-size: 1.8rem;
  }
  .ww-footer{
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
  .post-hero--product .post-cover-wrap{
    aspect-ratio: 16/9;
  }
  .post-hero-product-panel{
    padding: 28px 20px 30px;
  }
  .post-hero-product-title{
    font-size: clamp(30px,7vw,44px);
    letter-spacing: -1.2px;
  }
  .ww-hero{
    min-height: auto;
    padding: 96px 0 82px;
  }
  .ww-value-card{
    padding-left: 0;
    padding-top: 20px;
    border-left: 0;
    border-top: 1px solid rgba(16, 42, 69, 0.16);
  }
}

@media (max-width:1100px) {
  .posts-layout{
    grid-template-columns: minmax(0,1fr) 290px;
  }
  .post-card--row{
    grid-template-columns: minmax(220px,280px) minmax(0,1fr);
  }
  .post-card__title{
    font-size: 24px;
  }
}

@media (max-width:860px) {
  .posts-layout{
    grid-template-columns: 1fr;
  }
  .posts-sidebar{
    position: static;
    top: auto;
  }
  .posts-sidebar__summary{
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width:540px) {
  .posts-sidebar__summary{
    grid-template-columns: 1fr;
  }
  .post-meta--row{
    align-items: center;
  }
  .post-card__summary{
    font-size: 14px;
  }
}

@media (max-width:920px) {
  .skeleton-box--media{
    min-height: 190px;
  }
}

@media (max-width: 720px) {
  .preview-affiliate-card,
.post-affiliate-card{
    grid-template-columns: 110px minmax(0,1fr);
    gap: 14px;
    padding: 14px;
    border-radius: 20px;
  }
  .preview-affiliate-card::before,
.post-affiliate-card::before{
    top: 10px;
    right: 10px;
    font-size: 11px;
    min-height: 24px;
  }
  .preview-affiliate-card__media img,
.post-affiliate-card__img,
.preview-affiliate-card__placeholder,
.post-affiliate-card__placeholder{
    min-height: 110px;
    border-radius: 14px;
  }
  .preview-affiliate-card__title,
.post-affiliate-card__title{
    font-size: 16px;
    padding-right: 54px;
  }
  .preview-affiliate-card__sale,
.post-affiliate-card__sale{
    font-size: 18px;
  }
  .preview-affiliate-card__button,
.post-affiliate-card__button{
    min-height: 42px;
    width: 100%;
  }
  .preview-affiliate-cta,
.post-affiliate-cta{
    align-items: stretch;
    margin: 24px 0;
  }
  .preview-affiliate-cta__button,
.post-affiliate-cta__button{
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }
}

@media (max-width: 980px) {
  .dashboard-hero,
.dashboard-grid{
    grid-template-columns: 1fr;
  }
  .dashboard-stats{
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 640px) {
  .dashboard-stats{
    grid-template-columns: 1fr;
  }
  .dashboard-panel__head{
    align-items: flex-start;
    flex-direction: column;
  }
  .dashboard-popular__item,
.dashboard-recent__item{
    flex-direction: column;
  }
  .dashboard-popular__views,
.dashboard-recent__meta{
    white-space: normal;
  }
}

@media (max-width: 760px) {
  .travel-settings-manager__create-row--3{
    grid-template-columns: 1fr;
  }
}

@media (max-width:767px) {
  .post-body-head{
    margin-bottom: 28px;
    padding-bottom: 20px;
  }
  .post-body-title{
    font-size: 28px;
    letter-spacing: -1px;
  }
  .preview-hotel-hero-buttons{
    width: 100%;
    flex-direction: column;
  }
  .preview-hotel-hero-buttons span{
    width: 100%;
    min-width: 0;
  }
}

/* ==================================================
   Critical Post Heading Reset
   - 실제 스마트폰 브라우저에서 남아 있을 수 있는 H2/H3 자동 넘버링 제거
================================================== */
.post-body,
.post-body .post-content,
.preview-body{
  counter-reset: none !important;
}

.post-body h2,
.post-body .post-content h2,
.preview-body h2,
.post-body h3,
.post-body .post-content h3,
.preview-body h3{
  counter-increment: none !important;
  list-style: none !important;
  line-height: 1.2;
  word-break: keep-all;
}

.post-body h2::before,
.post-body .post-content h2::before,
.preview-body h2::before,
.post-body h3::before,
.post-body .post-content h3::before,
.preview-body h3::before,
.post-body h2::after,
.post-body .post-content h2::after,
.preview-body h2::after,
.post-body h3::after,
.post-body .post-content h3::after,
.preview-body h3::after{
  content: "" !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

.post-body h2::marker,
.post-body .post-content h2::marker,
.preview-body h2::marker,
.post-body h3::marker,
.post-body .post-content h3::marker,
.preview-body h3::marker{
  content: "" !important;
  line-height: 1.2;
  word-break: keep-all;
}


/* =========================================================
   12. Post Page Guide Style Alignment
   일반 post 페이지를 travel-guide / hotel-guide와 같은 여유 있는 가이드형 문서 톤으로 정리합니다.
========================================================= */
.post-guide-page{
  padding-top: clamp(10px, 2vw, 22px);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 42%, #ffffff 100%);
}

.post-shell--guide-style{
  padding-bottom: clamp(72px, 8vw, 108px);
}

.post-shell--guide-style .post-grid{
  gap: clamp(30px, 4.4vw, 52px);
}

.post-shell--guide-style .post-main{
  gap: clamp(26px, 4vw, 42px);
}

.post-shell--guide-style .post-hero{
  overflow: hidden;
  gap: 0;
  border: 0;
  border-radius: clamp(30px, 4vw, 42px);
  background:
    radial-gradient(circle at 88% 8%, rgba(125, 211, 252, 0.18), transparent 31%),
    radial-gradient(circle at 14% 18%, rgba(59, 130, 246, 0.09), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f6fbff 54%, #f9fffc 100%);
}

.post-shell--guide-style .post-hero--product .post-cover-wrap{
  width: 100%;
  aspect-ratio: 16 / 6.8;
  margin: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(15, 23, 42, 0.045);
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(125, 211, 252, 0.08));
}

.post-shell--guide-style .post-hero--product .post-cover{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.post-shell--guide-style .post-hero-product-panel{
  align-items: flex-start;
  text-align: left;
  padding: clamp(34px, 5.4vw, 64px);
  background: transparent;
}

.post-shell--guide-style .post-hero-kicker{
  justify-content: flex-start;
  margin-bottom: 18px;
  color: #2563eb;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.post-shell--guide-style .post-hero-kicker a,
.post-shell--guide-style .post-hero-kicker span{
  color: inherit;
  text-decoration: none;
}

.post-shell--guide-style .post-hero-kicker a:first-child,
.post-shell--guide-style .post-hero-kicker span:first-child{
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid rgba(37, 99, 235, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
}

.post-shell--guide-style .post-hero-product-title{
  max-width: 900px;
  color: #101828;
  font-size: clamp(2rem, 4.2vw, 3.65rem);
  line-height: 1.08;
  letter-spacing: -0.055em;
  font-weight: 500;
}

.post-shell--guide-style .post-hero-subtitle{
  max-width: 780px;
  margin-top: 14px;
  color: #536175;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  line-height: 1.76;
  letter-spacing: -0.012em;
}

.post-shell--guide-style .post-hero-product-summary{
  max-width: 800px;
  margin-top: 18px;
  margin-bottom: 0;
  color: #475467;
  font-size: clamp(1rem, 1.55vw, 1.1rem);
  line-height: 1.92;
  letter-spacing: -0.012em;
}

.post-shell--guide-style .post-hero-info-pills{
  justify-content: flex-start;
  gap: 10px;
  margin-top: 22px;
}

.post-shell--guide-style .post-hero-info-pill{
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid rgba(15, 23, 42, 0.065);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  color: #344054;
  font-size: 0.9rem;
  font-weight: 500;
}

.post-shell--guide-style .post-hero-cta-row{
  justify-content: flex-start;
  margin-top: 24px;
}

.post-shell--guide-style .post-hero-cta{
  min-height: 48px;
  border-radius: 999px;
  background: #101828;
}

.post-shell--guide-style .post-body{
  padding: clamp(42px, 5.3vw, 68px) clamp(30px, 5vw, 58px);
  border: 0;
  border-radius: clamp(30px, 4vw, 40px);
  background: rgba(255, 255, 255, 0.96);
}

.post-shell--guide-style .post-body-head{
  max-width: 820px;
  margin: 0 auto clamp(36px, 4.5vw, 54px);
  padding: 0 0 clamp(24px, 3vw, 34px);
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 0;
  background: transparent;
}

.post-shell--guide-style .post-body-title{
  color: #101828;
  font-size: clamp(1.58rem, 3vw, 2.28rem);
  line-height: 1.26;
  letter-spacing: -0.044em;
  font-weight: 500;
}

.post-shell--guide-style .post-body .post-content{
  max-width: 820px;
  color: #475467;
  font-size: clamp(1.01rem, 1.1vw, 1.065rem);
  line-height: 1.96;
  letter-spacing: -0.012em;
}

.post-shell--guide-style .post-body .post-content p{
  margin: 0 0 22px;
  color: #475467;
  line-height: 1.96;
  letter-spacing: -0.012em;
}

.post-shell--guide-style .post-body .post-content h2{
  margin: clamp(74px, 7.4vw, 106px) 0 24px;
  padding: 0 0 17px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image:
    linear-gradient(90deg, #2563eb 0%, #93c5fd 100%),
    linear-gradient(90deg, rgba(15, 23, 42, 0.10), rgba(15, 23, 42, 0.02));
  background-position: left bottom, left bottom;
  background-size: 82px 3px, 100% 1px;
  background-repeat: no-repeat;
  color: #0f2942;
  font-size: clamp(1.56rem, 2.75vw, 2.2rem);
  line-height: 1.2;
  letter-spacing: -0.046em;
  font-weight: 500;
  word-break: keep-all;
}

.post-shell--guide-style .post-body .post-content h2:first-child{
  margin-top: 10px;
  line-height: 1.2;
  word-break: keep-all;
}

.post-shell--guide-style .post-h2-prefix{
  margin-bottom: 12px;
  padding: 6px 11px;
  background: #f7faff;
  color: #111827;
  font-weight: 500;
  text-decoration: none;
}

.post-shell--guide-style .post-h2-text{
  display: block;
}

.post-shell--guide-style .post-body .post-content h3{
  margin: clamp(40px, 5vw, 58px) 0 16px;
  padding: 0 0 0 14px;
  border: 0;
  border-left: 3px solid rgba(37, 99, 235, 0.50);
  background: transparent;
  color: #12263f;
  font-size: clamp(1.14rem, 1.6vw, 1.32rem);
  line-height: 1.48;
  letter-spacing: -0.028em;
  font-weight: 500;
}

.post-shell--guide-style .post-body .post-content h4{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 34px 0 16px;
  padding: 8px 13px;
  border: 0;
  border-radius: 999px;
  background: #f2f8ff;
  color: #1d4ed8;
  font-size: 0.94rem;
  line-height: 1.45;
  letter-spacing: -0.012em;
  font-weight: 500;
}

.post-shell--guide-style .post-body .post-content ul,
.post-shell--guide-style .post-body .post-content ol{
  margin: 18px 0 32px;
  padding-left: 22px;
  color: #475467;
  line-height: 1.94;
}

.post-shell--guide-style .post-body .post-content li{
  margin: 10px 0;
  padding-left: 4px;
  color: #475467;
  line-height: 1.94;
}

.post-shell--guide-style .post-body .post-content li::marker{
  color: #2563eb;
  font-weight: 500;
}

.post-shell--guide-style .post-body .post-content blockquote{
  margin: 32px 0 38px;
  padding: clamp(22px, 3vw, 30px);
  border: 0;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.065), rgba(125, 211, 252, 0.075));
  color: #3f4f61;
}

.post-shell--guide-style .post-body .post-content blockquote p{
  margin-bottom: 0;
  color: #344054;
  font-weight: 500;
}

.post-shell--guide-style .post-body .post-content strong{
  color: #101828;
  font-weight: 500;
}

.post-shell--guide-style .post-body .table-wrap,
.post-shell--guide-style .post-body .post-content .table-wrap{
  margin: 34px 0 46px;
  border: 0;
  border-radius: 26px;
  background: #fff;
}

.post-shell--guide-style .post-body table,
.post-shell--guide-style .post-body .post-content table{
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  color: #475467;
  font-size: 0.96rem;
  line-height: 1.72;
}

.post-shell--guide-style .post-body table th,
.post-shell--guide-style .post-body table td,
.post-shell--guide-style .post-body .post-content table th,
.post-shell--guide-style .post-body .post-content table td{
  padding: 18px 18px;
  border-right: 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.055);
  color: #475467;
  vertical-align: top;
  line-height: 1.72;
  letter-spacing: -0.012em;
}

.post-shell--guide-style .post-body table th,
.post-shell--guide-style .post-body .post-content table th,
.post-shell--guide-style .post-body table thead th,
.post-shell--guide-style .post-body .post-content table thead th{
  color: #101828;
  background: #f7faff;
  font-size: 0.91rem;
  font-weight: 500;
}

.post-shell--guide-style .post-body table tr:last-child td,
.post-shell--guide-style .post-body .post-content table tr:last-child td{
  border-bottom: 0;
}

.post-shell--guide-style .post-body table tbody tr:nth-child(even) td,
.post-shell--guide-style .post-body .post-content table tbody tr:nth-child(even) td{
  background: rgba(248, 251, 255, 0.6);
}

.post-shell--guide-style .post-side{
  --site-sidebar-base-top: 88px;
  top: var(--site-sidebar-dynamic-top, var(--site-sidebar-base-top));
  min-height: 0;
}

.post-shell--guide-style .post-side .card,
.post-shell--guide-style .post-side__section{
  padding: 20px;
  border: 0;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.92);
}

.post-shell--guide-style .post-side__title{
  color: #101828;
  font-size: 0.98rem;
  font-weight: 500;
}

.post-shell--guide-style .post-side__popular-link{
  padding: 15px 0;
  border-top-color: rgba(15, 23, 42, 0.045);
  color: #536175;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.58;
}

.post-shell--guide-style .post-related,
.post-shell--guide-style .post-faq{
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(36px, 5vw, 58px);
}

.post-shell--guide-style .post-faq__item,
.post-shell--guide-style .post-related__list a{
  border-radius: 26px;
  border-color: rgba(15, 23, 42, 0.055);
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}

@media (min-width: 980px) {
  .post-shell--guide-style .post-grid{
    grid-template-columns: minmax(0, 1fr) 292px;
    align-items: start;
  }
}

@media (max-width: 900px) {
  .post-shell--guide-style .post-grid{
    grid-template-columns: 1fr;
  }

  .post-shell--guide-style .post-side{
    position: static;
    order: 2;
  }
}

@media (max-width: 720px) {
  .post-guide-page{
    padding-top: 0;
  }

  .post-shell--guide-style{
    padding-bottom: 56px;
  }

  .post-shell--guide-style .post-main{
    gap: 22px;
  }

  .post-shell--guide-style .post-hero{
    border-radius: 26px;
  }

  .post-shell--guide-style .post-hero--product .post-cover-wrap{
    aspect-ratio: 16 / 8.8;
  }

  .post-shell--guide-style .post-hero-product-panel{
    padding: 28px 20px;
  }

  .post-shell--guide-style .post-hero-product-title{
    font-size: clamp(1.72rem, 9.2vw, 2.55rem);
  }

  .post-shell--guide-style .post-body{
    padding: 30px 20px 34px;
    border-radius: 24px;
  }

  .post-shell--guide-style .post-body-head{
    margin-bottom: 32px;
    padding-bottom: 22px;
  }

  .post-shell--guide-style .post-body-title{
    font-size: clamp(1.46rem, 7vw, 1.92rem);
  }

  .post-shell--guide-style .post-body .post-content{
    font-size: 1rem;
    line-height: 1.9;
  }

  .post-shell--guide-style .post-body .post-content p{
    margin-bottom: 20px;
    line-height: 1.9;
  }

  .post-shell--guide-style .post-body .post-content h2{
    margin-top: 62px;
    margin-bottom: 22px;
    padding-bottom: 15px;
    background-size: 66px 3px, 100% 1px;
    font-size: clamp(1.38rem, 6.2vw, 1.68rem);
    line-height: 1.2;
  word-break: keep-all;
  }

  .post-shell--guide-style .post-body .post-content h3{
    margin-top: 38px;
    font-size: 1.1rem;
  }

  .post-shell--guide-style .post-body .post-content h4{
    margin-top: 28px;
  }

  .post-shell--guide-style .post-body .post-content ul,
.post-shell--guide-style .post-body .post-content ol{
    margin-bottom: 28px;
    padding-left: 20px;
  }

  .post-shell--guide-style .post-body .post-content .table-wrap,
.post-shell--guide-style .post-body .table-wrap{
    margin: 30px 0 38px;
    border-radius: 20px;
  }
}

/* =========================================================
   V18 Blue Identity Unification
   - 사이트 전체 색감: travel-guide / hotel-guide 블루 계열 통일
   - 기존 베이지/브라운/그린 포인트가 남는 영역을 최종 레이어에서 정리
========================================================= */
:root{
  --bg: #ffffff;
  --card: #ffffff;
  --text: #102A45;
  --muted: #64748B;
  --border: rgba(16, 42, 69, 0.10);
  --brand: #2563EB;
  --accent: #174C78;
  --shadow: 0 14px 36px rgba(37, 99, 235, 0.075);
}

body,
main,
.page,
.app-shell,
.travel-page,
.travel-home,
.travel-home-body{
  color: var(--text);
  background: #ffffff !important;
}

.btn--brand,
.preview-affiliate-card__button,
.post-affiliate-card__button,
.preview-affiliate-cta__button,
.post-affiliate-cta__button,
.post-hero-cta{
  background: linear-gradient(135deg, #174C78 0%, #2563EB 100%) !important;
  border-color: rgba(37, 99, 235, 0.28) !important;
  color: #ffffff !important;
}

.btn,
.card,
.notice,
.input,
textarea,
select,
.checkbox-line,
.preview-affiliate-card,
.post-affiliate-card,
.affiliate-item-card,
.affiliate-cta-editor-item{
  border-color: rgba(16, 42, 69, 0.10) !important;
}

.input:focus,
textarea:focus,
select:focus{
  border-color: rgba(37, 99, 235, 0.42) !important;
}

.badge,
.post-hero-info-pill,
.preview-affiliate-card::before,
.post-affiliate-card::before,
.ww-label-tag{
  background: #EEF7FF !important;
  color: #174C78 !important;
  border-color: rgba(37, 99, 235, 0.16) !important;
}

.post-hero-title,
.post-hero-eyebrow,
.ww-hero-title,
.ww-topic-title,
.ww-big-btn{
  color: #102A45 !important;
}



.nav__icon-btn:hover,
.nav__icon-btn:focus-visible,
.topbar-hamburger:hover,
.topbar-hamburger:focus-visible,
.posts-sidebar__chip span,
.seo-eyebrow{
  background: #EEF7FF !important;
  color: #2563EB !important;
}

.post-body blockquote,
.preview-body blockquote{
  border-left-color: #2563EB !important;
  background: #F8FBFF !important;
}

.preview-body h3,
.post-body .post-content h3,
.post-body .post-content a,
.preview-body a{
  color: #2563EB !important;
}

.post-hero,
.posts-home-hero,
.ww-hero{
  background:
    radial-gradient(circle at 86% 18%, rgba(37, 99, 235, 0.10), transparent 24rem),
    linear-gradient(135deg, #ffffff 0%, #F8FBFF 58%, #EEF7FF 100%) !important;
  border-color: rgba(37, 99, 235, 0.10) !important;
}

.ww-wrapper{
  --ww-bg: #ffffff;
  --ww-text: #102A45;
  --ww-text-sub: #64748B;
  --ww-line-light: rgba(16, 42, 69, 0.11);
}

.ww-quote-wrap{
  background: linear-gradient(135deg, #102A45 0%, #174C78 58%, #2563EB 100%) !important;
  color: #ffffff !important;
}

.ww-footer,
.post-hero-subtitle,
.post-hero-desc,
.affiliate-cta-editor-card .small{
  color: #64748B !important;
}

/* =========================================================
   Post Page Minimal Travel UI
   - main index hero/search tone: white surface, black text, restrained borders
========================================================= */
body.post-page-body{
  --post-minimal-ink: #101010;
  --post-minimal-soft-ink: #2f3137;
  --post-minimal-muted: #6a6f78;
  --post-minimal-faint: #f6f6f4;
  --post-minimal-line: rgba(16, 16, 16, 0.10);
  --post-minimal-line-strong: rgba(16, 16, 16, 0.18);
  color: var(--post-minimal-ink);
  background: #fff !important;
}

body.post-page-body.is-post-search-open{
  overflow: hidden;
}



















.post-search-overlay[hidden]{
  display: none !important;
}

.post-search-overlay{
  position: fixed;
  inset: 0;
  z-index: 80;
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.post-search-overlay.is-open{
  opacity: 1;
  pointer-events: auto;
}

.post-search-overlay__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px);
}

.post-search-overlay__panel{
  position: relative;
  min-height: 100%;
  padding: clamp(18px, 3vw, 30px);
  background: #fff;
  transform: translateY(10px);
  transition: transform .22s ease;
}

.post-search-overlay.is-open .post-search-overlay__panel{
  transform: translateY(0);
}

.post-search-overlay__bar{
  width: min(1040px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.post-search-overlay__close,
.post-search-overlay__submit,
.post-search-overlay__quick button{
  appearance: none;
  border: 1px solid var(--post-minimal-line-strong);
  background: #fff;
  color: var(--post-minimal-ink);
  font: inherit;
  cursor: pointer;
}

.post-search-overlay__close{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.post-search-overlay__close svg,
.post-search-overlay__icon svg{
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.post-search-overlay__form{
  flex: 1;
  min-width: 0;
  min-height: 56px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 8px 0 18px;
  border: 1px solid var(--post-minimal-line-strong);
  border-radius: 999px;
  background: #fff;
}

.post-search-overlay__icon{
  display: inline-flex;
  color: var(--post-minimal-muted);
}

.post-search-overlay__form input{
  flex: 1;
  min-width: 0;
  height: 52px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--post-minimal-ink);
  font: inherit;
  font-size: clamp(0.98rem, 1.6vw, 1.08rem);
}

.post-search-overlay__form input::placeholder{
  color: #9a9ea6;
}

.post-search-overlay__submit{
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--post-minimal-ink);
  color: #fff;
}

.post-search-overlay__close:hover,
.post-search-overlay__close:focus-visible,
.post-search-overlay__submit:hover,
.post-search-overlay__submit:focus-visible,
.post-search-overlay__quick button:hover,
.post-search-overlay__quick button:focus-visible{
  transform: translateY(-1px);
  outline: none;
}

.post-search-overlay__content{
  width: min(1040px, 100%);
  margin: clamp(78px, 10vw, 128px) auto 0;
}

.post-search-overlay__eyebrow{
  margin: 0 0 16px;
  color: var(--post-minimal-muted);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.post-search-overlay__content h2{
  margin: 0;
  color: var(--post-minimal-ink);
  font-size: clamp(2.6rem, 8vw, 6.4rem);
  line-height: 1.2;
  letter-spacing: -0.065em;
  font-weight: 500;
  word-break: keep-all;
}

.post-search-overlay__desc{
  max-width: 580px;
  margin: 24px 0 0;
  color: var(--post-minimal-muted);
  font-size: clamp(1rem, 1.5vw, 1.08rem);
  line-height: 1.78;
  word-break: keep-all;
}

.post-search-overlay__quick{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.post-search-overlay__quick button{
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
}

body.post-page-body .post-guide-page{
  max-width: 1240px;
  padding-top: clamp(12px, 2vw, 22px);
  background: #fff !important;
}



body.post-page-body .post-shell--guide-style{
  padding-bottom: clamp(70px, 8vw, 110px);
}

body.post-page-body .post-shell--guide-style .post-grid{
  gap: clamp(26px, 3.8vw, 48px);
}

body.post-page-body .post-shell--guide-style .post-main{
  gap: clamp(22px, 3vw, 34px);
}

body.post-page-body .post-shell--guide-style .post-hero,
body.post-page-body .post-hero,
body.post-page-body .posts-home-hero{
  border: 1px solid var(--post-minimal-line) !important;
  border-radius: clamp(22px, 3vw, 34px);
  background: #fff !important;
  box-shadow: none;
}

body.post-page-body .post-shell--guide-style .post-hero--product .post-cover-wrap{
  aspect-ratio: 16 / 7.2;
  border-bottom: 1px solid var(--post-minimal-line);
  background: var(--post-minimal-faint);
}

body.post-page-body .post-shell--guide-style .post-hero-product-panel{
  padding: clamp(30px, 5vw, 58px);
  background: #fff;
}

body.post-page-body .post-shell--guide-style .post-hero-kicker{
  color: var(--post-minimal-muted);
  letter-spacing: 0;
}

body.post-page-body .post-shell--guide-style .post-hero-kicker a:first-child,
body.post-page-body .post-shell--guide-style .post-hero-kicker span:first-child,
body.post-page-body .post-shell--guide-style .post-hero-info-pill,
body.post-page-body .badge,
body.post-page-body .post-hero-info-pill{
  border: 1px solid var(--post-minimal-line-strong) !important;
  background: #fff !important;
  color: var(--post-minimal-soft-ink) !important;
}

body.post-page-body .post-shell--guide-style .post-hero-product-title,
body.post-page-body .post-hero-product-title,
body.post-page-body .post-title,
body.post-page-body .post-body-title{
  color: var(--post-minimal-ink) !important;
}

body.post-page-body .post-shell--guide-style .post-hero-subtitle,
body.post-page-body .post-shell--guide-style .post-hero-product-summary,
body.post-page-body .post-hero-product-summary{
  color: var(--post-minimal-muted) !important;
}

body.post-page-body .post-shell--guide-style .post-hero-cta,
body.post-page-body .post-hero-cta,
body.post-page-body .post-affiliate-card__button,
body.post-page-body .post-affiliate-cta__button{
  border: 1px solid var(--post-minimal-ink) !important;
  background: var(--post-minimal-ink) !important;
  color: #fff !important;
  box-shadow: none;
}

body.post-page-body .post-shell--guide-style .post-body{
  padding: clamp(38px, 5vw, 64px) clamp(26px, 5vw, 56px);
  border: 1px solid var(--post-minimal-line) !important;
  border-radius: clamp(22px, 3vw, 34px);
  background: #fff !important;
  box-shadow: none;
}

body.post-page-body .post-shell--guide-style .post-body-head{
  border-bottom: 1px solid var(--post-minimal-line);
}

body.post-page-body .post-shell--guide-style .post-body .post-content,
body.post-page-body .post-shell--guide-style .post-body .post-content p,
body.post-page-body .post-shell--guide-style .post-body .post-content li,
body.post-page-body .post-body p,
body.post-page-body .post-body li{
  color: var(--post-minimal-soft-ink);
}

body.post-page-body .post-shell--guide-style .post-body .post-content h2{
  color: var(--post-minimal-ink);
  background-image:
    linear-gradient(90deg, var(--post-minimal-ink) 0%, var(--post-minimal-ink) 100%),
    linear-gradient(90deg, var(--post-minimal-line), rgba(16, 16, 16, 0.02));
  background-size: 76px 2px, 100% 1px;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body .post-shell--guide-style .post-h2-prefix{
  border: 1px solid var(--post-minimal-line);
  background: var(--post-minimal-faint);
  color: var(--post-minimal-soft-ink);
}

body.post-page-body .post-shell--guide-style .post-body .post-content h3{
  border-left-color: var(--post-minimal-ink);
  color: var(--post-minimal-ink) !important;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h4{
  border: 1px solid var(--post-minimal-line);
  background: var(--post-minimal-faint);
  color: var(--post-minimal-soft-ink);
}

body.post-page-body .post-shell--guide-style .post-body .post-content li::marker{
  color: var(--post-minimal-ink);
}

body.post-page-body .post-shell--guide-style .post-body .post-content a,
body.post-page-body .post-body .post-content a,
body.post-page-body .post-body a[href^="/"],
body.post-page-body .text-link{
  color: var(--post-minimal-ink) !important;
  text-decoration-color: rgba(16, 16, 16, 0.32);
}

body.post-page-body .post-shell--guide-style .post-body .post-content blockquote,
body.post-page-body .post-body blockquote{
  border: 1px solid var(--post-minimal-line) !important;
  border-left: 3px solid var(--post-minimal-ink) !important;
  background: var(--post-minimal-faint) !important;
}

body.post-page-body .post-shell--guide-style .post-body .post-content blockquote p{
  color: var(--post-minimal-soft-ink);
}

body.post-page-body .post-toc{
  border: 1px solid var(--post-minimal-line);
  border-radius: 22px;
  background: #fff;
}

body.post-page-body .post-toc__title,
body.post-page-body .post-toc__index,
body.post-page-body .post-toc__text{
  color: var(--post-minimal-ink);
}

body.post-page-body .post-toc__summary-meta::after{
  background: var(--post-minimal-ink);
  color: #fff;
}

body.post-page-body .post-toc__item a{
  color: var(--post-minimal-ink);
}

body.post-page-body .post-toc__item a:hover,
body.post-page-body .post-toc__item a:focus-visible{
  background: var(--post-minimal-faint);
  outline: none;
}

body.post-page-body .post-shell--guide-style .post-body .table-wrap,
body.post-page-body .post-shell--guide-style .post-body .post-content .table-wrap{
  border: 1px solid var(--post-minimal-line);
  background: #fff;
}

body.post-page-body .post-shell--guide-style .post-body table th,
body.post-page-body .post-shell--guide-style .post-body .post-content table th,
body.post-page-body .post-shell--guide-style .post-body table thead th,
body.post-page-body .post-shell--guide-style .post-body .post-content table thead th{
  background: var(--post-minimal-faint);
  color: var(--post-minimal-ink);
}

body.post-page-body .post-shell--guide-style .post-body table tbody tr:nth-child(even) td,
body.post-page-body .post-shell--guide-style .post-body .post-content table tbody tr:nth-child(even) td{
  background: rgba(246, 246, 244, 0.58);
}

body.post-page-body .post-shell--guide-style .post-side .card,
body.post-page-body .post-shell--guide-style .post-side__section{
  border: 1px solid var(--post-minimal-line) !important;
  background: #fff !important;
}

body.post-page-body .post-shell--guide-style .post-side__title,
body.post-page-body .post-side__title{
  color: var(--post-minimal-ink);
}

body.post-page-body .post-side__popular-rank{
  background: var(--post-minimal-ink);
  color: #fff;
}

body.post-page-body .post-side__popular-text,
body.post-page-body .post-shell--guide-style .post-side__popular-link{
  color: var(--post-minimal-soft-ink);
}

body.post-page-body .post-ad,
body.post-page-body .post-ad__skeleton,
body.post-page-body .post-ad--placeholder{
  border-color: var(--post-minimal-line) !important;
  background: var(--post-minimal-faint) !important;
  color: var(--post-minimal-muted);
}

body.post-page-body .post-faq__item,
body.post-page-body .post-related__list a,
body.post-page-body .post-shell--guide-style .post-faq__item,
body.post-page-body .post-shell--guide-style .post-related__list a,
body.post-page-body .post-affiliate-card{
  border: 1px solid var(--post-minimal-line) !important;
  background: #fff !important;
}

body.post-page-body .post-affiliate-card::before{
  border: 1px solid var(--post-minimal-line-strong) !important;
  background: #fff !important;
  color: var(--post-minimal-soft-ink) !important;
}

@media (max-width: 720px) {
  

  

  

  

  .post-search-overlay__panel{
    padding: 14px;
  }

  .post-search-overlay__bar{
    gap: 8px;
  }

  .post-search-overlay__close{
    width: 42px;
    height: 42px;
  }

  .post-search-overlay__form{
    min-height: 48px;
    padding-left: 14px;
  }

  .post-search-overlay__icon{
    display: none;
  }

  .post-search-overlay__form input{
    height: 46px;
    font-size: 0.94rem;
  }

  .post-search-overlay__submit{
    min-height: 38px;
    padding-inline: 14px;
  }

  .post-search-overlay__content{
    margin-top: 72px;
  }

  .post-search-overlay__quick{
    display: grid;
    grid-template-columns: 1fr;
  }

  body.post-page-body .post-shell--guide-style .post-hero{
    border-radius: 24px;
  }

  body.post-page-body .post-shell--guide-style .post-body{
    padding: 30px 20px 34px;
    border-radius: 24px;
  }
}

/* Admin item management page */
.admin-items-shell{
  padding-top: 16px;
  padding-bottom: 36px;
}
.admin-items-hero{
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr);
  gap: 20px;
  align-items: stretch;
}
.admin-items-overview{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}
.admin-items-nav{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 16px;
  padding: 12px;
}
.admin-items-nav a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #334155;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}
.admin-items-status{
  margin: 14px 0;
  min-height: 20px;
}
.admin-items-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  align-items: start;
}
.admin-items-panel{
  padding: 18px;
}
.admin-items-panel--wide{
  grid-column: 1 / -1;
}
.admin-items-create-row--2{
  grid-template-columns: 1fr 1fr auto;
}
.admin-items-create-row--3{
  grid-template-columns: 1fr 1fr auto;
}
.admin-items-create-row--4{
  grid-template-columns: minmax(160px,.8fr) 1fr 1fr auto;
}
.admin-items-create-row--5{
  grid-template-columns: minmax(150px,.8fr) minmax(150px,.8fr) 1fr 1fr auto;
}
.admin-items-list-item.is-inactive{
  opacity: .64;
  background: #f8fafc;
}
.admin-items-future-grid{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.admin-items-future-card{
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
  border: 1px dashed #cbd5e1;
  background: #f8fafc;
}
.admin-items-future-card strong{
  font-size: 15px;
  color: #0f172a;
}
@media (max-width: 960px) {
  .admin-items-hero,
.admin-items-grid{
    grid-template-columns: 1fr;
  }
  .admin-items-overview,
.admin-items-future-grid{
    grid-template-columns: 1fr 1fr;
  }
  .admin-items-create-row--5,
.admin-items-create-row--4,
.admin-items-create-row--3,
.admin-items-create-row--2{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .admin-items-overview,
.admin-items-future-grid{
    grid-template-columns: 1fr;
  }
}

/* Admin: Traveler Hub */
.admin-hub-shell{
  padding-top: 24px;
  padding-bottom: 48px;
}

.admin-hub-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.6fr);
  gap: 18px;
  align-items: stretch;
}

.admin-hub-overview{
  display: grid;
  gap: 10px;
}

.admin-hub-nav{
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px;
}

.admin-hub-nav a{
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  background: #fff;
}

.admin-hub-status{
  margin: 14px 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid var(--border);
}

.admin-hub-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

.admin-hub-panel{
  display: grid;
  gap: 14px;
}

.admin-hub-form-grid{
  display: grid;
  gap: 12px;
}

.admin-hub-form-grid--2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-hub-form-grid--3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-hub-actions{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-hub-actions--split{
  justify-content: space-between;
}

.admin-hub-featured-head,
.admin-hub-toolbar{
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  gap: 12px;
  align-items: end;
}

.admin-hub-featured-head .home-destination-count{
  justify-self: end;
  align-self: center;
}

.admin-hub-featured-list{
  max-height: 380px;
  overflow: auto;
}

.admin-hub-edit-layout{
  display: grid;
  grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
  gap: 16px;
  align-items: start;
}

.admin-hub-city-list{
  display: grid;
  gap: 8px;
  max-height: 760px;
  overflow: auto;
  padding-right: 4px;
}

.admin-hub-city-card{
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  text-align: left;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 16px;
  padding: 12px;
  cursor: pointer;
}

.admin-hub-city-card.is-selected{
  border-color: rgba(37, 99, 235, 0.5);
  background: #eff6ff;
}

.admin-hub-city-card.is-inactive{
  opacity: 0.64;
}

.admin-hub-city-card__main{
  display: grid;
  gap: 4px;
  min-width: 0;
}

.admin-hub-city-card__main strong{
  color: var(--text);
  font-size: 15px;
}

.admin-hub-city-card__main em{
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
}

.admin-hub-city-card__badges{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  flex-shrink: 0;
}

.admin-hub-city-card__badges i{
  font-style: normal;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 11px;
  color: var(--muted);
  background: #f8fafc;
}

.admin-hub-edit-form{
  display: grid;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 16px;
  background: #fff;
}

.admin-hub-edit-form__head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.admin-hub-edit-form__head h3{
  margin: 4px 0 0;
  font-size: 22px;
}

.admin-hub-edit-section{
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
}

.admin-hub-edit-section h4{
  margin: 0;
  font-size: 15px;
  color: var(--text);
}

@media (max-width: 920px) {
  .admin-hub-hero,
.admin-hub-edit-layout,
.admin-hub-featured-head,
.admin-hub-toolbar,
.admin-hub-form-grid--3,
.admin-hub-form-grid--2{
    grid-template-columns: 1fr;
  }

  .admin-hub-featured-head .home-destination-count{
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .admin-hub-nav{
    display: grid;
    grid-template-columns: 1fr;
  }

  .admin-hub-actions,
.admin-hub-actions--split,
.admin-hub-edit-form__head,
.admin-hub-city-card{
    align-items: stretch;
    flex-direction: column;
  }

  .admin-hub-city-card__badges{
    justify-content: flex-start;
  }
}
.admin-items-future-card[href]{
  color: inherit;
  text-decoration: none;
}

/* =========================================================
   V20 Admin UX polish
   - 항목 관리 / 여행자 허브 관리 전용 여백, 카드, 리스트 가독성 개선
========================================================= */
.admin-items-shell,
.admin-hub-shell{
  --admin-bg: #f8fbff;
  --admin-card: #ffffff;
  --admin-line: rgba(16, 42, 69, 0.09);
  --admin-soft-line: rgba(37, 99, 235, 0.11);
  --admin-muted: #667085;
  --admin-title: #102A45;
  --admin-blue: #2563EB;
  --admin-blue-dark: #174C78;
  max-width: 1180px;
  padding-top: clamp(18px, 3vw, 32px) !important;
  padding-bottom: clamp(48px, 7vw, 84px) !important;
}

.admin-items-shell .card,
.admin-hub-shell .card{
  border: 1px solid var(--admin-line) !important;
  background: var(--admin-card) !important;
  border-radius: 28px !important;
}

.admin-items-hero,
.admin-hub-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px) !important;
  background:
    radial-gradient(circle at 86% 14%, rgba(125, 211, 252, 0.20), transparent 26rem),
    linear-gradient(135deg, #ffffff 0%, #fbfdff 48%, #eef7ff 100%) !important;
  border-color: rgba(37, 99, 235, 0.10) !important;
}

.admin-items-hero::after,
.admin-hub-hero::after{
  content: "";
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.065);
  pointer-events: none;
}

.admin-items-hero .hero-copy,
.admin-hub-hero .hero-copy{
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  align-content: center;
}

.admin-items-hero .badge,
.admin-hub-hero .badge{
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef7ff !important;
  color: var(--admin-blue-dark) !important;
  border: 1px solid rgba(37, 99, 235, 0.14) !important;
  font-size: 12px;
  letter-spacing: .02em;
}

.admin-items-hero .hero-title,
.admin-hub-hero .hero-title{
  margin: 0;
  color: var(--admin-title);
  font-size: clamp(32px, 5vw, 52px);
  line-height:1.2;
  letter-spacing: -0.055em;
  word-break: keep-all;
}

.admin-items-hero .hero-desc,
.admin-hub-hero .hero-desc{
  max-width: 720px;
  margin: 0;
  color: var(--admin-muted);
  font-size: 16px;
  line-height: 1.78;
}

.admin-items-hero .dashboard-actions,
.admin-hub-hero .dashboard-actions{
  gap: 9px !important;
  margin-top: 4px !important;
}

.admin-items-overview,
.admin-hub-overview{
  position: relative;
  z-index: 1;
  align-self: center;
  gap: 12px !important;
}

.admin-items-overview .dashboard-stat,
.admin-hub-overview .dashboard-stat{
  min-height: 112px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
  border: 1px solid rgba(37, 99, 235, 0.11);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.76);
}

.admin-items-overview .dashboard-stat__label,
.admin-hub-overview .dashboard-stat__label{
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 500;
}

.admin-items-overview .dashboard-stat__value,
.admin-hub-overview .dashboard-stat__value{
  color: var(--admin-title);
  font-size: 34px;
  line-height: 1;
}

.admin-page-guide{
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.admin-page-guide--items{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-page-guide--hub{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-page-guide-card{
  display: grid;
  gap: 9px;
  padding: 20px;
  border: 1px solid rgba(37, 99, 235, 0.10);
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.admin-page-guide-card span{
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #eef7ff;
  color: var(--admin-blue-dark);
  font-size: 12px;
  font-weight: 500;
}

.admin-page-guide-card strong{
  color: var(--admin-title);
  font-size: 16px;
  letter-spacing: -0.025em;
}

.admin-page-guide-card p{
  margin: 0;
  color: var(--admin-muted);
  font-size: 13px;
  line-height: 1.65;
}

.admin-items-nav,
.admin-hub-nav{
  position: sticky;
  top: 74px;
  z-index: 20;
  margin-top: 18px !important;
  padding: 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(12px);
}

.admin-items-nav a,
.admin-hub-nav a{
  min-height: 40px;
  padding: 9px 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f6f9ff !important;
  color: #344054 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500!important;
}

.admin-items-nav a:first-child,
.admin-hub-nav a:first-child{
  background: #174c78 !important;
  color: #ffffff !important;
}

.admin-items-status,
.admin-hub-status{
  margin: 18px 0 !important;
  min-height: 0 !important;
  padding: 13px 16px !important;
  border: 1px solid rgba(37, 99, 235, 0.10) !important;
  border-radius: 18px !important;
  background: #f8fbff !important;
  color: #475467 !important;
}

.admin-items-grid,
.admin-hub-grid{
  gap: 22px !important;
}

.admin-items-panel,
.admin-hub-panel{
  padding: clamp(22px, 3vw, 30px) !important;
  display: grid;
  gap: 20px !important;
}

.admin-items-panel .dashboard-panel__head,
.admin-hub-panel .dashboard-panel__head{
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(16, 42, 69, 0.075);
}

.admin-items-panel .h2,
.admin-hub-panel .h2{
  margin: 0 0 7px;
  color: var(--admin-title);
  font-size: clamp(20px, 2vw, 25px);
  letter-spacing: -0.035em;
  line-height: 1.2;
  word-break: keep-all;
}

.admin-items-panel .dashboard-panel__head .small,
.admin-hub-panel .dashboard-panel__head .small{
  max-width: 760px;
  color: var(--admin-muted);
  line-height: 1.65;
}

.admin-items-shell .form-field,
.admin-hub-shell .form-field{
  display: grid;
  gap: 8px;
  margin: 0;
}

.admin-items-shell .form-field > span,
.admin-hub-shell .form-field > span{
  color: #344054;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.admin-items-shell .input,
.admin-hub-shell .input,
.admin-items-shell textarea,
.admin-hub-shell textarea,
.admin-items-shell select,
.admin-hub-shell select{
  min-height: 48px;
  border-radius: 17px !important;
  background: #ffffff !important;
  border-color: rgba(16, 42, 69, 0.12) !important;
  color: var(--admin-title);
  line-height: 1.55;
}

.admin-items-shell .textarea,
.admin-hub-shell .textarea{
  min-height: 96px;
  resize: vertical;
}

.category-manager__create,
.admin-hub-edit-section{
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, 0.09);
  border-radius: 22px;
  background: #f8fbff;
}

.category-manager__create-row,
.admin-items-create-row--2,
.admin-items-create-row--3,
.admin-items-create-row--4,
.admin-items-create-row--5,
.admin-hub-form-grid{
  gap: 12px !important;
}


.admin-country-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -4px;
  padding: 4px 2px 2px;
}

.admin-country-tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(16, 42, 69, 0.10);
  border-radius: 999px;
  background: #ffffff;
  color: #475467;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.015em;
  cursor: pointer;
}

.admin-country-tab span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: #f2f4f7;
  color: #667085;
  font-size: 12px;
  font-weight: 500;
}

.admin-country-tab.is-active{
  border-color: rgba(37, 99, 235, 0.35);
  background: #eff6ff;
  color: #174c78;
}

.admin-country-tab.is-active span{
  background: #dbeafe;
  color: #174c78;
}

.category-manager__list,
.admin-hub-city-list,
.admin-hub-featured-list{
  gap: 10px !important;
  padding: 4px;
}

.category-manager__item,
.admin-hub-city-card,
.home-destination-option{
  border: 1px solid rgba(16, 42, 69, 0.10) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
}

.category-manager__item{
  align-items: center;
  padding: 16px 18px !important;
}

.category-manager__name{
  min-height: auto !important;
  color: var(--admin-title);
  font-size: 16px;
  font-weight: 500!important;
}

.category-manager__item .small,
.admin-hub-city-card__main em,
.home-destination-option__body em{
  color: var(--admin-muted) !important;
  line-height: 1.55;
}

.category-manager__actions .btn,
.admin-hub-actions .btn,
.admin-hub-edit-form__head .btn{
  min-height: 40px;
  padding: 9px 13px;
}

.admin-items-list-item.is-inactive,
.admin-hub-city-card.is-inactive{
  opacity: 1 !important;
  background: #f9fafb !important;
}

.admin-items-list-item.is-inactive .category-manager__name,
.admin-hub-city-card.is-inactive strong{
  color: #98a2b3 !important;
}

.admin-items-future-grid{
  gap: 14px !important;
}

.admin-items-future-card{
  min-height: 128px;
  padding: 20px !important;
  border: 1px solid rgba(37, 99, 235, 0.10) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
}

.admin-items-future-card strong{
  color: var(--admin-title) !important;
  font-size: 16px !important;
}

.admin-items-future-card .small{
  color: var(--admin-muted);
  line-height: 1.65;
}

.admin-hub-featured-head,
.admin-hub-toolbar{
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, 0.09);
  border-radius: 22px;
  background: #f8fbff;
}

.admin-hub-featured-head .home-destination-count{
  display: inline-flex;
  justify-self: end;
  align-items: center;
  min-height: 42px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eef7ff;
  color: var(--admin-blue-dark) !important;
  font-weight: 500;
}

.admin-hub-featured-list{
  max-height: 430px !important;
  border: 1px solid rgba(16, 42, 69, 0.08);
  border-radius: 22px;
  background: #fbfdff;
}

.home-destination-option{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px 15px;
}

.home-destination-option.is-selected{
  border-color: rgba(37, 99, 235, 0.28) !important;
  background: #f5f9ff !important;
}

.home-destination-option__main{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.home-destination-option__main input{
  width: 18px;
  height: 18px;
  accent-color: var(--admin-blue);
  flex: 0 0 auto;
}

.home-destination-option__body{
  display: grid;
  gap: 4px;
  min-width: 0;
}

.home-destination-option__body strong{
  color: var(--admin-title);
  font-size: 15px;
  font-weight: 500;
}

.home-destination-option__body em{
  display: block;
  overflow: hidden;
  font-style: normal;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-destination-option__controls{
  display: flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}

.home-destination-option__badge,
.admin-hub-city-card__badges i{
  border: 0 !important;
  border-radius: 999px !important;
  background: #eef7ff !important;
  color: var(--admin-blue-dark) !important;
  font-size: 11px !important;
  font-weight: 500;
}

.home-destination-option__badge{
  padding: 6px 9px;
}

.home-destination-option__move{
  width: 32px;
  height: 32px;
  border: 1px solid rgba(16, 42, 69, 0.11);
  border-radius: 999px;
  background: #fff;
  color: var(--admin-title);
  font-weight: 500;
  cursor: pointer;
}

.home-destination-empty,
.category-manager__empty{
  padding: 20px !important;
  border-radius: 20px !important;
  background: #f8fbff !important;
  border: 1px dashed rgba(37, 99, 235, 0.16) !important;
  color: var(--admin-muted) !important;
  line-height: 1.65;
}

.admin-hub-edit-layout{
  gap: 20px !important;
}

.admin-hub-city-list{
  max-height: 820px !important;
  padding: 6px !important;
  border: 1px solid rgba(16, 42, 69, 0.08);
  border-radius: 24px;
  background: #fbfdff;
}

.admin-hub-city-card{
  padding: 15px !important;
  transition: none !important;
}

.admin-hub-city-card.is-selected{
  border-color: rgba(37, 99, 235, 0.36) !important;
  background: #eef7ff !important;
}

.admin-hub-city-card__main{
  gap: 6px !important;
}

.admin-hub-city-card__main strong{
  font-size: 15px !important;
  font-weight: 500;
}

.admin-hub-city-card__badges i{
  padding: 6px 9px !important;
}

.admin-hub-edit-form{
  gap: 20px !important;
  padding: clamp(20px, 3vw, 28px) !important;
  border: 1px solid rgba(37, 99, 235, 0.11) !important;
  border-radius: 26px !important;
  background: #ffffff !important;
}

.admin-hub-edit-form__head{
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(16, 42, 69, 0.075);
}

.admin-hub-edit-form__head h3{
  color: var(--admin-title);
  font-size: clamp(21px, 2.2vw, 28px) !important;
  letter-spacing: -0.035em;
}

.admin-hub-edit-section{
  padding: 20px !important;
  border-top: 0 !important;
}

.admin-hub-edit-section h4{
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(16, 42, 69, 0.07);
  color: var(--admin-title) !important;
  font-size: 16px !important;
  font-weight: 500;
}

.admin-hub-actions{
  gap: 12px !important;
}

.admin-hub-actions--split > .small{
  color: var(--admin-muted);
  line-height: 1.6;
}

.admin-items-shell .btn,
.admin-hub-shell .btn{
  min-height: 42px;
  text-decoration: none !important;
}

.admin-items-shell .btn--brand,
.admin-hub-shell .btn--brand{
  background: linear-gradient(135deg, #174C78 0%, #2563EB 100%) !important;
  border-color: transparent !important;
}

.admin-items-shell .btn--danger,
.admin-hub-shell .btn--danger{
  background: #fff5f5 !important;
  border-color: rgba(220, 38, 38, 0.18) !important;
  color: #b42318 !important;
}

@media (max-width: 1080px) {
  .admin-page-guide--items{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .admin-items-hero,
.admin-hub-hero{
    grid-template-columns: 1fr !important;
  }

  .admin-page-guide--hub,
.admin-page-guide--items{
    grid-template-columns: 1fr !important;
  }

  .admin-items-nav,
.admin-hub-nav{
    position: static;
    border-radius: 24px !important;
  }
}

@media (max-width: 720px) {
  .admin-items-shell,
.admin-hub-shell{
    padding-left: 14px;
    padding-right: 14px;
  }

  .admin-items-hero,
.admin-hub-hero,
.admin-items-panel,
.admin-hub-panel{
    border-radius: 24px !important;
  }

  .admin-items-overview,
.admin-hub-overview,
.admin-items-future-grid{
    grid-template-columns: 1fr !important;
  }

  .category-manager__item,
.home-destination-option,
.admin-hub-city-card,
.admin-hub-edit-form__head,
.admin-hub-actions,
.admin-hub-actions--split{
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .category-manager__item{
    grid-template-columns: 1fr !important;
  }

  .category-manager__actions,
.home-destination-option__controls,
.admin-hub-city-card__badges{
    justify-content: flex-start !important;
  }

  .category-manager__actions .btn,
.admin-hub-actions .btn,
.admin-hub-edit-form__head .btn{
    width: 100%;
    justify-content: center;
  }

  .home-destination-option__body em{
    white-space: normal;
  }
}

/* Admin items V21 refinements */
.admin-items-nav{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none !important;
}

.admin-items-status{
  background: #f8fbff !important;
  border-color: rgba(37, 99, 235, 0.12) !important;
  color: #344054 !important;
}

.admin-items-status.is-success{
  background: #f0fdf4 !important;
  border-color: rgba(22, 163, 74, 0.20) !important;
  color: #15803d !important;
}

.admin-items-status.is-error{
  background: #fff5f5 !important;
  border-color: rgba(220, 38, 38, 0.22) !important;
  color: #b42318 !important;
}

.admin-items-shell .input.is-invalid,
.admin-items-shell select.is-invalid{
  border-color: rgba(220, 38, 38, 0.72) !important;
  background: #fffafa !important;
}

.admin-items-shell .category-manager__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

/* Admin home hub V22 refinements */
.admin-hub-nav{
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  backdrop-filter: none !important;
}

.admin-hub-status{
  background: #f8fbff !important;
  border-color: rgba(37, 99, 235, 0.12) !important;
  color: #344054 !important;
}

.admin-hub-status.is-success{
  background: #f0fdf4 !important;
  border-color: rgba(22, 163, 74, 0.20) !important;
  color: #15803d !important;
}

.admin-hub-status.is-error{
  background: #fff5f5 !important;
  border-color: rgba(220, 38, 38, 0.22) !important;
  color: #b42318 !important;
}

/* Admin floating toast V23 */
.admin-items-status,
.admin-hub-status{
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(22px, env(safe-area-inset-bottom)) !important;
  transform: translate(-50%, 18px) !important;
  width: min(520px, calc(100vw - 32px)) !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 13px 18px !important;
  margin: 0 !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #1f2937 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 9999 !important;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 500!important;
  line-height: 1.45 !important;
}

.admin-items-status.is-visible,
.admin-hub-status.is-visible{
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}

.admin-items-status.is-success,
.admin-hub-status.is-success{
  background: #ecfdf3 !important;
  border-color: rgba(22, 163, 74, 0.22) !important;
  color: #067647 !important;
}

.admin-hub-status.is-info{
  background: #eff6ff !important;
  border-color: rgba(37, 99, 235, 0.20) !important;
  color: #1d4ed8 !important;
}

.admin-items-status.is-error,
.admin-hub-status.is-error{
  background: #fff1f2 !important;
  border-color: rgba(220, 38, 38, 0.22) !important;
  color: #b42318 !important;
}

@media (max-width: 640px) {
  .admin-items-status,
.admin-hub-status{
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 24px) !important;
    border-radius: 18px !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
  }
}


/* Admin layout refinement 20260610v26 */
.admin-items-hero,
.admin-hub-hero{
  display: block;
}

.admin-items-overview,
.admin-hub-overview{
  margin-top: 16px;
}

.admin-items-shell > .admin-items-overview,
.admin-hub-shell > .admin-hub-overview{
  margin-bottom: 16px;
}

.admin-items-grid{
  margin-top: 14px;
}

.admin-hub-grid{
  margin-top: 14px;
}


/* Admin items V27 full-width management panels */
.admin-items-grid{
  grid-template-columns: 1fr !important;
}

.admin-items-panel{
  grid-column: 1 / -1;
}


/* Admin overview one-line refinement 20260610v28 */
.admin-items-overview{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.admin-hub-overview{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 900px) {
  .admin-items-overview,
.admin-hub-overview{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  .admin-items-overview,
.admin-hub-overview{
    grid-template-columns: 1fr !important;
  }
}

/* Admin items V29 recommendation category overview */
.admin-items-overview{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
@media (max-width: 1100px) {
  .admin-items-overview{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  .admin-items-overview{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  .admin-items-overview{
    grid-template-columns: 1fr !important;
  }
}

.admin-city-tabs{
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(16, 42, 69, 0.07);
}

.admin-city-tab{
  min-height: 36px;
  padding: 7px 12px;
  background: #fbfcff;
}

.admin-city-tabs__empty{
  width: 100%;
  padding: 10px 12px;
  border-radius: 16px;
  background: #f8fbff;
  color: #667085;
}

/* =========================================================
   Font weight guardrail: keep typography light and editorial
========================================================= */
body{
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
th,
dt,
summary,
label,
button{
  font-weight: 500;
  line-height: 1.2;
  word-break: keep-all;
}

/* Travel topbar flat override */

/* End travel topbar flat override */

/* BESTAYABLE_GLOBAL_TYPOGRAPHY_REFINEMENT_V17 */
p{
  color: #333;
  font-weight: 400;
}

strong,
b{
  font-weight: 500;
}



/* Admin items dashboard-stat section jump 20260620 */
.admin-items-overview a.dashboard-stat,
.admin-items-overview__stat{
  color: inherit;
  text-decoration: none;
}

.admin-items-overview__stat{
  cursor: pointer;
  outline: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.admin-items-overview__stat:hover,
.admin-items-overview__stat:focus-visible{
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, 0.28);
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.10);
}

.admin-items-overview__stat:focus-visible{
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.14), 0 18px 38px rgba(15, 23, 42, 0.10);
}

.admin-items-overview__stat:active{
  transform: translateY(0);
}

.admin-items-overview .dashboard-stat__hint{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 2px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.admin-items-overview .dashboard-stat__hint::after{
  content: "↓";
  margin-left: 5px;
  font-size: 12px;
  line-height: 1;
}

.admin-items-panel{
  scroll-margin-top: 96px;
}

.admin-items-panel.is-scroll-highlighted{
  animation: adminItemsPanelPulse 1.5s ease;
}

@keyframes adminItemsPanelPulse {
  0%{
    border-color: rgba(37, 99, 235, 0.46);
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.22), 0 20px 48px rgba(15, 23, 42, 0.08);
  }
  45%{
    border-color: rgba(37, 99, 235, 0.34);
    box-shadow: 0 0 0 8px rgba(37, 99, 235, 0.10), 0 20px 48px rgba(15, 23, 42, 0.08);
  }
  100%{
    border-color: rgba(16, 42, 69, 0.08);
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-items-overview__stat{
    transition: none;
  }

  .admin-items-overview__stat:hover,
.admin-items-overview__stat:focus-visible{
    transform: none;
  }

  .admin-items-panel.is-scroll-highlighted{
    animation: none;
    border-color: rgba(37, 99, 235, 0.36);
  }
}

/* Admin items section-to-section navigation 20260620 */
.admin-items-section-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -8px;
  padding: 10px;
  border: 1px solid rgba(16, 42, 69, 0.08);
  border-radius: 20px;
  background: #f8fbff;
}

.admin-items-section-nav__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(37, 99, 235, 0.10);
  border-radius: 999px;
  background: #ffffff;
  color: #344054;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.015em;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, color 0.18s ease;
}

.admin-items-section-nav__link:hover,
.admin-items-section-nav__link:focus-visible{
  border-color: rgba(37, 99, 235, 0.28);
  color: #174c78;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
  outline: none;
}

.admin-items-section-nav__link::after{
  content: "↓";
  margin-left: 6px;
  color: #2563eb;
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 640px) {
  .admin-items-section-nav{
    gap: 7px;
    padding: 8px;
    border-radius: 18px;
  }

  .admin-items-section-nav__link{
    flex: 1 1 calc(50% - 8px);
    min-width: 128px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-items-section-nav__link{
    transition: none;
  }

  .admin-items-section-nav__link:hover,
.admin-items-section-nav__link:focus-visible{
    transform: none;
  }
}

/* Admin dashboard status list links 20260620 */
a.dashboard-stat.dashboard-stat--link{
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

a.dashboard-stat.dashboard-stat--link:hover,
a.dashboard-stat.dashboard-stat--link:focus-visible{
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, 0.28);
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.10);
}

a.dashboard-stat.dashboard-stat--link:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.14), 0 18px 38px rgba(15, 23, 42, 0.10);
}

a.dashboard-stat.dashboard-stat--link:active{
  transform: translateY(0);
}

.dashboard-stat__hint{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 8px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.dashboard-stat__hint::after{
  content: "→";
  margin-left: 5px;
  font-size: 12px;
  line-height: 1;
}

.admin-post-list-hero{
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
}

.admin-post-list-summary{
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.admin-post-status-tab.is-active{
  border-color: rgba(37, 99, 235, 0.38);
  background: linear-gradient(180deg,#fff 0%,#eff6ff 100%);
  box-shadow: 0 14px 34px rgba(37, 99, 235, 0.10);
}

.admin-post-list-panel__head{
  align-items: center;
}

.admin-post-list-tools{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: min(320px, 100%);
}

.admin-post-list-search{
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px 13px;
  background: #fff;
  font-size: 14px;
}

.admin-post-list-search:focus{
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10);
  outline: none;
}

.admin-post-list-table-wrap{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admin-post-list-table{
  width: 100%;
  min-width: 880px;
  border-collapse: separate;
  border-spacing: 0;
}

.admin-post-list-table th,
.admin-post-list-table td{
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  padding: 14px 12px;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
}

.admin-post-list-table th{
  color: #64748b;
  font-size: 12px;
  font-weight: 500;
  background: #f8fafc;
  white-space: nowrap;
}

.admin-post-list-title-cell{
  min-width: 280px;
}

.admin-post-list-title{
  display: inline-block;
  max-width: 420px;
  color: #111827;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.admin-post-list-title:hover,
.admin-post-list-title:focus-visible{
  color: #2563eb;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.admin-post-list-sub,
.admin-post-list-date{
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.admin-post-list-actions{
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.admin-post-list-empty{
  padding: 26px 12px !important;
  color: #64748b;
  text-align: center !important;
}

@media (max-width: 900px) {
  .admin-post-list-hero{
    grid-template-columns: 1fr;
  }

  .admin-post-list-panel__head{
    align-items: stretch;
    flex-direction: column;
  }

  .admin-post-list-tools{
    width: 100%;
  }
}

@media (max-width: 640px) {
  .admin-post-list-summary{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Post Page Magazine Layout
   - Matches the hotel magazine article reference layout
========================================================= */
body.post-page-body{
  --wt-bg: #ffffff;
  --wt-ink: #111111;
  --wt-text: #171717;
  --wt-muted: #6f7177;
  --wt-muted-strong: #4b4d52;
  --wt-line: #e9e9e9;
  --wt-line-strong: #d9d9d9;
  --wt-soft: #f7f7f7;
  --wt-soft-2: #fbfbfb;
  --wt-card: #ffffff;
  --wt-shadow: 0 24px 70px rgba(0, 0, 0, 0.07);
  --wt-shadow-soft: 0 14px 40px rgba(0, 0, 0, 0.055);
  --wt-radius-xl: 34px;
  --wt-radius-lg: 26px;
  --wt-radius-md: 18px;
  --wt-container: 1120px;
  margin: 0;
  background: var(--wt-bg) !important;
  color: var(--wt-text);
  font-weight: 400;
  letter-spacing: -0.022em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.post-page-body a{
  color: inherit;
}























body.post-page-body .post-guide-page{
  width: min(800px, calc(100% - 40px));
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 0 0;
  background: #fff !important;
}







body.post-page-body .breadcrumb--post li + li::before{
  color: #b0b2b6;
}





body.post-page-body .post-shell--guide-style{
  padding: 52px 0 92px;
  background: #fff;
}

body.post-page-body .post-shell--guide-style .post-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

body.post-page-body .post-shell--guide-style .post-main{
  width: 100%;
  display: block;
}

body.post-page-body .post-shell--guide-style .post-side{
  display: none !important;
}

body.post-page-body .post-magazine-hero,
body.post-page-body .post-shell--guide-style .post-hero{
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

body.post-page-body .post-shell--guide-style .post-hero--product .post-cover-wrap{
  position: relative;
  width: 100%;
  margin: 0 auto 30px;
  overflow: hidden;
  border: 1px solid var(--wt-line);
  border-radius: 30px;
  background: #f2f2f2;
  aspect-ratio: 16 / 9;
}

body.post-page-body .post-shell--guide-style .post-hero--product .post-cover{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  filter: saturate(0.94) contrast(0.98);
}

body.post-page-body .post-magazine-head{
  width: 100%;
  margin: 0 auto 10px;
  padding-bottom: 0;
  text-align: left;
}

body.post-page-body .post-magazine-kicker{
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  width: fit-content;
  gap: 7px;
  margin: 0 0 16px;
  color: #333;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

body.post-page-body .post-magazine-kicker a,
body.post-page-body .post-magazine-kicker span:not([aria-hidden]){
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 11px;
  border: 1px solid var(--wt-line-strong);
  border-radius: 999px;
  background: #fff;
  color: #333 !important;
  text-decoration: none;
}

body.post-page-body .post-magazine-title{
  max-width: 780px;
  color: #111 !important;
  font-size: 35px;
  line-height: 1.06;
  letter-spacing: -0.065em;
  font-weight: 600;
  text-align: left;
}

body.post-page-body .post-magazine-desc{
  margin: 18px 0 0;
  color: var(--wt-muted-strong);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.78;
  font-weight: 400;
  text-align: left;
  word-break: keep-all;
}

body.post-page-body .post-magazine-desc p,
body.post-page-body .post-magazine-desc ul,
body.post-page-body .post-magazine-desc ol,
body.post-page-body .post-magazine-desc blockquote{
  margin: 0;
}

body.post-page-body .post-magazine-desc p + p,
body.post-page-body .post-magazine-desc ul + p,
body.post-page-body .post-magazine-desc p + ul,
body.post-page-body .post-magazine-desc p + ol{
  margin-top: 12px;
}

body.post-page-body .post-magazine-desc strong{
  color: #111;
  font-weight: 600;
}

body.post-page-body .post-magazine-desc a{
  color: #111 !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(17, 17, 17, 0.22);
  text-underline-offset: 4px;
}

body.post-page-body .post-magazine-desc ul,
body.post-page-body .post-magazine-desc ol{
  padding-left: 22px;
}

body.post-page-body .post-magazine-head > .post-hero-admin-actions{
  justify-content: flex-start;
  margin-top: 18px;
}

body.post-page-body .post-magazine-hotel-panel{
  max-width: 780px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--wt-line);
}

body.post-page-body .post-magazine-hotel-panel .post-hero-product-panel{
  align-items: flex-start;
  padding: 0;
  background: transparent;
  text-align: left;
}

body.post-page-body .post-magazine-hotel-panel .post-hero-kicker{
  justify-content: flex-start;
  margin: 0 0 12px;
  color: #777a80;
}

body.post-page-body .post-magazine-hotel-panel .post-hero-product-title{
  max-width: 720px;
  color: #111 !important;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.18;
  letter-spacing: -0.055em;
  font-weight: 600;
}

body.post-page-body .post-magazine-hotel-panel .post-hero-subtitle,
body.post-page-body .post-magazine-hotel-panel .post-hero-product-summary{
  max-width: 720px;
  color: #4b4d52 !important;
  font-size: 15px;
  line-height: 1.72;
}

body.post-page-body .post-magazine-hotel-panel .post-hero-info-pills,
body.post-page-body .post-magazine-hotel-panel .post-hero-cta-row{
  justify-content: flex-start;
}

body.post-page-body .post-magazine-hotel-panel .post-hero-info-pill,
body.post-page-body .post-hero-info-pill{
  padding: 6px 10px;
  border: 1px solid var(--wt-line) !important;
  border-radius: 999px;
  background: #fff !important;
  color: #444 !important;
  font-size: 12px;
  font-weight: 500;
}

body.post-page-body .post-magazine-hotel-panel .post-hero-cta,
body.post-page-body .post-hero-cta{
  min-width: 178px;
  min-height: 48px;
  padding: 0 19px;
  border: 1px solid #111 !important;
  border-radius: 999px;
  background: #111 !important;
  color: #fff !important;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

body.post-page-body .post-shell--guide-style .post-body{
  width: 100%;
  margin: 0 auto;
  padding: 26px 0 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

body.post-page-body .post-shell--guide-style .post-body .post-content{
  max-width: none;
  width: 100%;
  margin: 0;
  color: #3f4146;
  font-size: 17px;
  line-height: 1.88;
  letter-spacing: -0.022em;
  word-break: keep-all;
}

body.post-page-body .post-shell--guide-style .post-body .post-content p{
  margin: 0;
  color: #3f4146;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

body.post-page-body .post-shell--guide-style .post-body .post-content p + p{
  margin-top: 16px;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h2{
  max-width: 780px;
  margin: 84px 0 16px;
  padding: 34px 0 0;
  border: 0;
  border-top: 1px solid var(--wt-line);
  background: transparent;
  color: #111 !important;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  letter-spacing: -0.058em;
  font-weight: 600;
  word-break: keep-all;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h2:first-child{
  margin-top: 0;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body .post-shell--guide-style .post-body .post-content .post-h2-anchor{
  margin: 70px 0 16px;
  padding: 70px 0 0;
  border-top: 1px solid var(--wt-line);
}

body.post-page-body .post-shell--guide-style .post-body .post-content .post-h2-anchor:first-child{
  margin-top: 0;
}

body.post-page-body .post-shell--guide-style .post-body .post-content .post-h2-anchor .post-inline-image{
  margin: 0 0 30px;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h2.post-h2--with-before-image{
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 0;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body .post-shell--guide-style .post-h2-prefix{
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 12px;
  padding: 7px 11px;
  border: 1px solid var(--wt-line-strong);
  border-radius: 999px;
  background: #fff;
  color: #333;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

body.post-page-body .post-shell--guide-style .post-h2-text{
  display: block;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h3{
  max-width: 780px;
  margin: 42px 0 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111 !important;
  font-size: 20px;
  line-height: 1.32;
  letter-spacing: -0.045em;
  font-weight: 600;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h3::before{
  content: "";
  display: block;
  width: 38px;
  height: 5px;
  margin: 0 0 14px;
  border-radius: 999px;
  background: #111;
}

body.post-page-body .post-shell--guide-style .post-body .post-content h4{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 780px;
  margin: 30px 0 12px;
  padding: 7px 11px;
  border: 1px solid var(--wt-line-strong);
  border-radius: 999px;
  background: #fff;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

body.post-page-body .post-shell--guide-style .post-body .post-content ul,
body.post-page-body .post-shell--guide-style .post-body .post-content ol{
  max-width: 780px;
  margin: 18px 0 28px;
  padding-left: 22px;
  color: #3f4146;
  font-size: 16.5px;
  line-height: 1.86;
}

body.post-page-body .post-shell--guide-style .post-body .post-content li{
  margin: 8px 0;
  padding-left: 4px;
  color: #3f4146;
  line-height: 1.86;
}

body.post-page-body .post-shell--guide-style .post-body .post-content li::marker{
  color: #111;
  font-weight: 600;
}

body.post-page-body .post-shell--guide-style .post-body .post-content blockquote{
  max-width: 780px;
  margin: 24px 0 28px;
  padding: 0 0 0 16px;
  border: 0 !important;
  border-left: 2px solid #111 !important;
  border-radius: 0;
  background: transparent !important;
  color: #5e6066;
}

body.post-page-body .post-shell--guide-style .post-body .post-content blockquote p{
  color: #5e6066;
  font-size: 15px;
  line-height: 1.76;
  font-weight: 500;
}

body.post-page-body .post-shell--guide-style .post-body .post-content strong{
  color: #111;
  font-weight: 600;
}

body.post-page-body--top5-series .post-shell--guide-style .post-body .post-content strong{
  display: block;
}

body.post-page-body .post-shell--guide-style .post-body .post-content a,
body.post-page-body .post-body .post-content a{
  display: inline-block;
  margin-top: 10px;
  padding: 13px 30px;
  background: #000;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
}

body.post-page-body .post-shell--guide-style .post-body .post-content figure.post-inline-image a.post-inline-image__link,
body.post-page-body .post-body .post-content figure.post-inline-image a.post-inline-image__link,
.preview-body figure.preview-inline-image a.preview-inline-image__link{
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  line-height: 0;
  text-decoration: none;
}

body.post-page-body .post-inline-image{
  width: 100%;
  margin: 34px 0 42px;
}

body.post-page-body .post-inline-image__img{
  width: 100%;
  max-height: 450px;
  border: 1px solid var(--wt-line);
  border-radius: 30px;
  filter: saturate(0.94) contrast(0.98);
  object-fit: cover;
}

body.post-page-body .post-inline-image__caption{
  max-width: 780px;
  margin: 10px 0 0;
  color: #7b7d82;
  font-size: 13px;
  line-height: 1.6;
  text-align: left;
}

body.post-page-body .post-toc{
  max-width: 780px;
  margin: 28px 0 42px;
  overflow: hidden;
  border: 1px solid var(--wt-line);
  border-radius: 26px;
  background: #fff;
}

body.post-page-body .post-toc__summary{
  padding: 18px 20px;
}

body.post-page-body .post-toc__title{
  color: #111;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.04em;
}

body.post-page-body .post-toc__summary-meta::after{
  min-width: 48px;
  background: #111;
  color: #fff;
}

body.post-page-body .post-toc__body{
  border-top: 1px solid var(--wt-line);
}

body.post-page-body .post-toc__item a{
  color: #333;
}

body.post-page-body .post-toc__item a:hover,
body.post-page-body .post-toc__item a:focus-visible{
  background: #fafafa;
  outline: none;
}

body.post-page-body .post-toc__index{
  color: #111;
  font-weight: 600;
}

body.post-page-body .post-toc__text{
  color: #34363a;
}

body.post-page-body .post-shell--guide-style .post-body .table-wrap,
body.post-page-body .post-shell--guide-style .post-body .post-content .table-wrap{
  width: 100%;
  margin: 34px 0 46px;
  overflow-x: auto;
  border: 1px solid var(--wt-line);
  border-radius: var(--wt-radius-xl);
  background: #fff;
}

body.post-page-body .post-shell--guide-style .post-body table,
body.post-page-body .post-shell--guide-style .post-body .post-content table{
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  color: #4f5157;
  font-size: 14.5px;
  line-height: 1.65;
}

body.post-page-body .post-shell--guide-style .post-body table th,
body.post-page-body .post-shell--guide-style .post-body table td,
body.post-page-body .post-shell--guide-style .post-body .post-content table th,
body.post-page-body .post-shell--guide-style .post-body .post-content table td{
  padding: 18px 20px;
  border: 0;
  border-bottom: 1px solid var(--wt-line);
  color: #4f5157;
  text-align: left;
  vertical-align: top;
}

body.post-page-body .post-shell--guide-style .post-body table th,
body.post-page-body .post-shell--guide-style .post-body .post-content table th,
body.post-page-body .post-shell--guide-style .post-body table thead th,
body.post-page-body .post-shell--guide-style .post-body .post-content table thead th{
  background: #f8f8f8;
  color: #111;
  font-size: 13px;
  font-weight: 600;
}

body.post-page-body .post-shell--guide-style .post-body table tr:last-child td,
body.post-page-body .post-shell--guide-style .post-body .post-content table tr:last-child td{
  border-bottom: 0;
}

body.post-page-body .post-affiliate-card{
  max-width: 780px;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 20px;
  margin: 28px 0;
  padding: 18px;
  border: 1px solid var(--wt-line) !important;
  border-radius: 28px;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.025);
}

body.post-page-body .post-affiliate-card::before{
  border: 1px solid var(--wt-line) !important;
  background: #fff !important;
  color: #333 !important;
  font-weight: 500;
}

body.post-page-body .post-affiliate-card__title{
  color: #111;
  font-weight: 600;
}

body.post-page-body .post-affiliate-card__button,
body.post-page-body .post-affiliate-cta__button{
  min-height: 48px;
  border: 1px solid #111 !important;
  border-radius: 999px;
  background: #111 !important;
  color: #fff !important;
  font-size: 14.5px;
  font-weight: 600;
}

body.post-page-body .post-affiliate-cta{
  max-width: 780px;
  align-items: flex-start;
  margin: 30px 0;
}

body.post-page-body .post-ad{
  max-width: 780px;
  margin: 34px 0;
  border: 1px solid var(--wt-line) !important;
  border-radius: 26px;
  background: #fafafa !important;
  box-shadow: none;
}

body.post-page-body .post-ad__skeleton,
body.post-page-body .post-ad--placeholder{
  background: #fafafa !important;
  color: #74767b;
}

body.post-page-body .post-faq,
body.post-page-body .post-related{
  width: 100%;
  max-width: 880px;
  margin: 84px auto 0;
  padding-top: 34px;
  border-top: 1px solid var(--wt-line);
}

body.post-page-body .post-section-title,
body.post-page-body .post-faq > h2{
  margin: 0 0 16px;
  color: #111 !important;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  letter-spacing: -0.058em;
  font-weight: 600;
  word-break: keep-all;
}

body.post-page-body .post-faq__list{
  max-width: 780px;
  gap: 12px;
  margin-top: 18px;
}

body.post-page-body .post-faq__item,
body.post-page-body .post-related__list a,
body.post-page-body .post-shell--guide-style .post-faq__item,
body.post-page-body .post-shell--guide-style .post-related__list a{
  border: 1px solid var(--wt-line) !important;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: none;
}

body.post-page-body .post-faq__question{
  color: #111 !important;
  font-weight: 600;
}

body.post-page-body .post-related__layout{
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "header" "list" "action";
  gap: 16px;
}

body.post-page-body .post-related__action{
  justify-content: flex-start;
}

body.post-page-body .post-related__more-btn,
body.post-page-body .btn.post-related__more-btn{
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #111 !important;
  border-radius: 999px;
  background: #111 !important;
  color: #fff !important;
  font-weight: 600;
}

body.post-page-body .footer{
  width: min(var(--wt-container), 100%);
  margin: 0 auto;
  padding: 38px 0 44px;
  border-top: 1px solid var(--wt-line);
  color: #74767b;
  font-size: 13px;
  font-weight: 400;
}

body.post-page-body .post-search-overlay__backdrop{
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.post-page-body .post-search-overlay__panel{
  min-height: auto;
  width: min(720px, calc(100% - 40px));
  margin: 92px auto 0;
  padding: 0;
  border: 1px solid var(--wt-line);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--wt-shadow);
  overflow: hidden;
}

body.post-page-body .post-search-overlay__bar{
  width: 100%;
  padding: 22px 24px;
  border-bottom: 1px solid var(--wt-line);
}

body.post-page-body .post-search-overlay__close{
  width: 38px;
  height: 38px;
  border: 1px solid var(--wt-line);
  background: #fff;
  color: #111;
  order: 2;
}

body.post-page-body .post-search-overlay__form{
  min-height: 54px;
  padding: 0;
  border: 0;
  border-radius: 0;
}

body.post-page-body .post-search-overlay__icon{
  display: none;
}

body.post-page-body .post-search-overlay__form input{
  height: 54px;
  padding: 0 18px;
  border: 1px solid var(--wt-line-strong);
  border-radius: 18px;
  background: #fff;
  color: #111;
  font-size: 16px;
  font-weight: 400;
}

body.post-page-body .post-search-overlay__form input:focus{
  border-color: #111;
  box-shadow: 0 0 0 4px rgba(0,0,0,0.06);
}

body.post-page-body .post-search-overlay__submit{
  height: 54px;
  min-height: 54px;
  padding: 0 19px;
  border: 1px solid #111;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 600;
}

body.post-page-body .post-search-overlay__content{
  width: 100%;
  margin: 0;
  padding: 20px 24px 24px;
}

body.post-page-body .post-search-overlay__eyebrow{
  display: none;
}

body.post-page-body .post-search-overlay__content h2{
  margin: 0;
  color: #111;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.05em;
  font-weight: 600;
  word-break: keep-all;
}

body.post-page-body .post-search-overlay__desc{
  max-width: none;
  margin: 4px 0 0;
  color: var(--wt-muted);
  font-size: 14px;
  line-height: 1.6;
}

body.post-page-body .post-search-overlay__quick{
  gap: 8px;
  margin-top: 18px;
}

body.post-page-body .post-search-overlay__quick button{
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--wt-line);
  border-radius: 999px;
  background: #fff;
  color: #333;
  font-size: 13px;
  font-weight: 500;
}

@media (max-width: 980px) {
  body.post-page-body .post-guide-page{
    width: min(100% - 40px, var(--wt-container));
  }

  body.post-page-body .post-shell--guide-style .post-hero--product .post-cover-wrap{
    aspect-ratio: 4 / 3;
  }

  body.post-page-body .post-affiliate-card{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  

  

  

  

  

  body.post-page-body .post-shell--guide-style{
    padding: 20px 0 68px;
  }

  body.post-page-body .post-shell--guide-style .post-hero--product .post-cover-wrap{
    margin-bottom: 24px;
    border-radius: 24px;
    aspect-ratio: 4 / 3;
  }

  body.post-page-body .post-magazine-head{
    margin-bottom: 10px;
  }

  body.post-page-body .post-magazine-title{
    letter-spacing: -0.055em;
  }

  body.post-page-body .post-magazine-desc{
    font-size: 15.5px;
    line-height: 1.72;
  }

  body.post-page-body .post-magazine-hotel-panel{
    margin-top: 22px;
    padding-top: 22px;
  }

  body.post-page-body .post-magazine-hotel-panel .post-hero-cta,
body.post-page-body .post-hero-cta,
body.post-page-body .post-affiliate-card__button,
body.post-page-body .post-affiliate-cta__button,
body.post-page-body .post-related__more-btn,
body.post-page-body .btn.post-related__more-btn{
    width: 100%;
    min-width: 0;
  }

  body.post-page-body .post-shell--guide-style .post-body{
    padding-top: 22px;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content,
body.post-page-body .post-shell--guide-style .post-body .post-content p,
body.post-page-body .post-shell--guide-style .post-body .post-content ul,
body.post-page-body .post-shell--guide-style .post-body .post-content ol{
    font-size: 15.5px;
    line-height: 1.78;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content h2{
    margin-top: 62px;
    padding-top: 28px;
    font-size: 24px;
    letter-spacing: -0.048em;
  line-height: 1.2;
  word-break: keep-all;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content .post-h2-anchor{
    margin: 70px 0 16px;
    padding-top: 70px;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content h3{
    margin-top: 0;
    padding: 0;
    border: 0;
    font-size: 20px;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content h3::before{
    width: 32px;
    height: 4px;
    margin-bottom: 12px;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content blockquote{
    max-width: none;
    margin: 22px 0 26px;
    padding: 15px 0 0;
    border-left: 0 !important;
    border-top: 1px solid var(--wt-line) !important;
  }

  body.post-page-body .post-shell--guide-style .post-body .post-content blockquote p{
    color: #60636a;
    font-size: 14.5px;
    line-height: 1.72;
  }

  body.post-page-body .post-inline-image__img{
    height: auto;
    max-height: none;
    border-radius: 22px;
    object-fit: contain;
  }

  body.post-page-body .post-toc{
    border-radius: 22px;
  }

  body.post-page-body .post-shell--guide-style .post-body .table-wrap,
  body.post-page-body .post-shell--guide-style .post-body .post-content .table-wrap{
    overflow-x: hidden;
    -webkit-overflow-scrolling: auto;
    border-radius: 22px;
  }

  body.post-page-body .post-shell--guide-style .post-body table,
  body.post-page-body .post-shell--guide-style .post-body .post-content table{
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    font-size: 13px;
    line-height: 1.55;
  }

  body.post-page-body .post-shell--guide-style .post-body table th,
  body.post-page-body .post-shell--guide-style .post-body table td,
  body.post-page-body .post-shell--guide-style .post-body .post-content table th,
  body.post-page-body .post-shell--guide-style .post-body .post-content table td{
    padding: 11px 8px;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  body.post-page-body .post-faq,
body.post-page-body .post-related{
    margin-top: 62px;
    padding-top: 28px;
  }

  body.post-page-body .post-search-overlay__panel{
    width: min(100% - 32px, 720px);
    margin-top: 76px;
    border-radius: 24px;
  }

  body.post-page-body .post-search-overlay__bar{
    align-items: stretch;
    flex-direction: column;
    padding: 20px;
  }

  body.post-page-body .post-search-overlay__close{
    position: absolute;
    top: 14px;
    right: 14px;
  }

  body.post-page-body .post-search-overlay__form{
    flex-direction: column;
    padding-top: 42px;
  }

  body.post-page-body .post-search-overlay__submit{
    width: 100%;
  }

  body.post-page-body .post-search-overlay__content{
    padding: 20px;
  }

  body.post-page-body .post-search-overlay__quick{
    display: flex;
  }
}


/* =========================================================
   추천 호텔 리뷰 전용 매거진 스코프
   - body.post-page-body--hotel-review-magazine 이 붙은 글에만 적용
   - 여행 스타일별 호텔 추천(top5_series), 여행꿀팁 등 일반 post에는 영향 없음
========================================================= */
body.post-page-body--hotel-review-magazine{
  --hotel-review-ink: #111111;
  --hotel-review-text: #222222;
  --hotel-review-muted: #777777;
  --hotel-review-soft: #999999;
  --hotel-review-line: #e5e5e5;
  --hotel-review-note: #f9f9f9;
  background: #ffffff !important;
  color: var(--hotel-review-ink);
  line-height: 1.8;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-guide-page{
  max-width: none;
  padding: 30px 24px 96px;
  background: #ffffff !important;
}



body.post-page-body--hotel-review-magazine .post-shell--guide-style{
  padding-bottom: 0;
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-grid{
  display: block;
  margin: 0 auto;
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-main{
  display: block;
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-side{
  display: none !important;
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-hero,
body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-body{
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-hero{
  margin-bottom: 50px;
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-hero--product .post-cover-wrap,
body.post-page-body--hotel-review-magazine .post-cover-wrap{
  position: relative;
  width: 100%;
  margin: 0 auto 30px;
  overflow: hidden;
  border: 1px solid var(--wt-line);
  border-radius: 30px;
  background: #f2f2f2;
  aspect-ratio: 16 / 9;
}

body.post-page-body--hotel-review-magazine .post-cover,
body.post-page-body--hotel-review-magazine .post-cover-wrap img{
  width: 100%;
  object-fit: cover;
  border-radius: 0 !important;
}

body.post-page-body--hotel-review-magazine .post-magazine-head{
  padding: 0;
}

body.post-page-body--hotel-review-magazine .post-magazine-kicker{
  margin-bottom: 12px;
  color: var(--hotel-review-muted);
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

body.post-page-body--hotel-review-magazine .post-magazine-title{
  margin: 0 0 10px;
  color: var(--hotel-review-ink) !important;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.04em;
}

body.post-page-body--hotel-review-magazine .post-magazine-desc,
body.post-page-body--hotel-review-magazine .post-magazine-desc p{
  max-width: none;
  margin: 0;
  color: #555555 !important;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 2;
}

body.post-page-body--hotel-review-magazine .post-magazine-hotel-panel{
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--hotel-review-line);
}

body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-body{
  padding: 0;
}

body.post-page-body--hotel-review-magazine .post-body .post-content{
  max-width: 680px;
  margin: 0 auto;
  color: var(--hotel-review-text);
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
}

body.post-page-body--hotel-review-magazine .post-body .post-content > * + h2,
body.post-page-body--hotel-review-magazine .post-body .post-content .post-h2-anchor{
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid var(--hotel-review-line);
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2{
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  background: none !important;
  color: var(--hotel-review-ink) !important;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-prefix,
body.post-page-body--hotel-review-magazine .post-body .post-content .post-h2-prefix{
  display: block;
  margin: 0 0 6px;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-soft) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-text,
body.post-page-body--hotel-review-magazine .post-body .post-content .post-h2-text{
  display: block;
  color: var(--hotel-review-ink);
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h3{
  margin: 36px 0 20px;
  padding: 16px 0;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-ink) !important;
  border-bottom: 1px solid var(--hotel-review-ink) !important;
  background: transparent !important;
  color: var(--hotel-review-ink) !important;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h3::before,
body.post-page-body--hotel-review-magazine .post-body .post-content h3::after{
  content: none !important;
  display: none !important;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p,
body.post-page-body--hotel-review-magazine .post-body .post-content li{
  color: var(--hotel-review-text) !important;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p{
  margin: 0 0 18px;
}

body.post-page-body--hotel-review-magazine .post-body .post-content blockquote{
  margin: 36px 0 20px;
  padding: 16px 0;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-ink) !important;
  border-bottom: 1px solid var(--hotel-review-ink) !important;
  background: transparent !important;
}

body.post-page-body--hotel-review-magazine .post-body .post-content blockquote p{
  margin: 0;
  color: var(--hotel-review-ink) !important;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5;
}

body.post-page-body--hotel-review-magazine .post-body .table-wrap,
body.post-page-body--hotel-review-magazine .post-body .post-content .table-wrap{
  margin: 24px 0;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
  background: #ffffff !important;
}

body.post-page-body--hotel-review-magazine .post-body table,
body.post-page-body--hotel-review-magazine .post-body .post-content table{
  width: 100%;
  min-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}

body.post-page-body--hotel-review-magazine .post-body table th,
body.post-page-body--hotel-review-magazine .post-body table td,
body.post-page-body--hotel-review-magazine .post-body .post-content table th,
body.post-page-body--hotel-review-magazine .post-body .post-content table td{
  padding: 10px 8px;
  border: 0 !important;
  border-bottom: 1px solid var(--hotel-review-line) !important;
  background: #ffffff !important;
}

body.post-page-body--hotel-review-magazine .post-body table th,
body.post-page-body--hotel-review-magazine .post-body .post-content table th{
  width: 40%;
  color: var(--hotel-review-muted) !important;
  font-weight: 600;
  text-align: left;
}

body.post-page-body--hotel-review-magazine .post-body table td,
body.post-page-body--hotel-review-magazine .post-body .post-content table td{
  width: 60%;
  color: var(--hotel-review-text) !important;
}

body.post-page-body--hotel-review-magazine .post-faq,
body.post-page-body--hotel-review-magazine .post-related{
  max-width: 680px;
  margin: 50px auto 0;
  padding-top: 50px;
  border-top: 1px solid var(--hotel-review-line);
}

@media (max-width: 768px) {
  body.post-page-body--hotel-review-magazine .post-guide-page{
    max-width: none;
    padding: 30px 0 88px;
  }

  body.post-page-body--hotel-review-magazine .post-body .post-content,
body.post-page-body--hotel-review-magazine .post-faq,
body.post-page-body--hotel-review-magazine .post-related{
    max-width: none;
  }

  body.post-page-body--hotel-review-magazine .post-magazine-title{
    line-height: 1.4;
  }

  body.post-page-body--hotel-review-magazine .post-magazine-desc,
body.post-page-body--hotel-review-magazine .post-magazine-desc p{
    font-size: 1.02rem;
  }
}

/* ==========================================
   추천 호텔 리뷰 전용 H2/H3 보완
   - H2 위 경계선이 prefix/strong과 함께 움직이도록 조정
   - "에디터의 시선: 제목"이 한 줄로 이어지도록 prefix를 inline 처리
   - H3 여백과 굵기 조정
========================================== */
body.post-page-body--hotel-review-magazine .post-body .post-content > * + h2,
body.post-page-body--hotel-review-magazine .post-body .post-content .post-h2-anchor{
  margin-top: 50px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2{
  display: block !important;
  margin: 50px 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-ink) !important;
  font-size: 1.25rem !important;
  font-weight: 600!important;
  line-height: 1.2;
  letter-spacing: -0.03em !important;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2:first-child{
  margin-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-prefix,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 > strong:first-child,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-text:first-child{
  display: inline-block !important;
  margin: 0 0.28em 0 0 !important;
  padding: 34px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-ink) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 600!important;
  line-height: 1.2;
  letter-spacing: inherit !important;
  text-transform: none !important;
  vertical-align: baseline !important;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2:first-child .post-h2-prefix,
body.post-page-body--hotel-review-magazine .post-body .post-content h2:first-child > strong:first-child,
body.post-page-body--hotel-review-magazine .post-body .post-content h2:first-child .post-h2-text:first-child{
  padding-top: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-prefix strong,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 > strong:first-child{
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1.2;
  letter-spacing: inherit !important;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-text,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-prefix + .post-h2-text{
  display: inline !important;
  color: var(--hotel-review-ink) !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h3{
  padding: 10px 0 !important;
  font-weight: 400!important;
}


/* ==========================================
   추천 호텔 리뷰 전용 섹션 라벨 최종 보완
   - H2와 H2 내부 strong/span의 위쪽 선 제거
   - H2 바로 위 <p><strong>01. Greenhouse</strong></p>를 섹션 라벨로 사용
   - H3 여백/굵기 조정
========================================== */
body.post-page-body--hotel-review-magazine .post-body .post-content h2,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 > strong,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-prefix,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-prefix strong,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-text,
body.post-page-body--hotel-review-magazine .post-body .post-content h2 .post-h2-text:first-child{
  border-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:has(> strong:first-child:last-child):has(+ h2){
  margin: 50px 0 6px !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:first-child:has(> strong:first-child:last-child):has(+ h2){
  margin-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:has(> strong:first-child:last-child):has(+ h2):not(.post-section-label--after-image) > strong{
  display: block !important;
  margin: 0 !important;
  padding: 34px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-soft) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-size: 0.8rem !important;
  font-weight: 400!important;
  line-height: 1.2;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:first-child:has(> strong:first-child:last-child):has(+ h2) > strong{
  padding-top: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

/* 추천 호텔 리뷰: 섹션 라벨 위에 본문 이미지가 있으면 구분선을 이미지 위로 이동 */
body.post-page-body--hotel-review-magazine .post-body .post-content figure.post-inline-image:has(+ p:has(> strong:first-child:last-child):has(+ h2)){
  margin-top: 50px !important;
  margin-bottom: 18px !important;
  padding-top: 34px !important;
  border-top: 1px solid var(--hotel-review-line) !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content figure.post-inline-image:has(+ p:has(> strong:first-child:last-child):has(+ h2)) + p{
  margin-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content figure.post-inline-image:has(+ p:has(> strong:first-child:last-child):has(+ h2)) + p > strong{
  padding-top: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

/* 작성/수정 미리보기에서도 추천 호텔 리뷰 섹션 이미지 구분선 흐름 확인 */
.preview-body figure.preview-inline-image:has(+ p:has(> strong:first-child:last-child):has(+ h2)){
  margin-top: 50px !important;
  margin-bottom: 18px !important;
  padding-top: 34px !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
  line-height: 1.2;
  word-break: keep-all;
}

.preview-body figure.preview-inline-image:has(+ p:has(> strong:first-child:last-child):has(+ h2)) + p{
  margin-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

.preview-body figure.preview-inline-image:has(+ p:has(> strong:first-child:last-child):has(+ h2)) + p > strong{
  padding-top: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:has(> strong:first-child:last-child):has(+ h2) + h2{
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:has(> strong:first-child:last-child):has(+ h2) + h2 .post-h2-text{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--hotel-review-ink) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1.2;
  letter-spacing: inherit !important;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content h3{
  margin: 36px 0 20px 0 !important;
  padding: 10px 0 !important;
  font-weight: 400!important;
}

/* ==========================================
   추천 호텔 리뷰 전용 상단 키커 배치 보완
   - post-magazine-kicker는 cover 위에 노출
   - post-hero-kicker는 기존 magazine kicker 위치에서 노출
   - 추천 호텔 리뷰 글의 post-shell 상단 여백 축소
========================================== */
body.post-page-body--hotel-review-magazine .post-shell.post-shell--guide-style{
  padding-top: 40px;
}

body.post-page-body--hotel-review-magazine .post-magazine-hero > .post-magazine-kicker{
  margin: 0 0 16px !important;
}

body.post-page-body--hotel-review-magazine .post-magazine-head > .post-hero-kicker{
  justify-content: flex-start !important;
  margin: 0 0 16px !important;
}

/* ==========================================
   추천 호텔 리뷰 이미지/섹션 라벨 구분선 보정 v2
   - CSS :has() 인접 감지에 의존하지 않고 렌더러가 붙인 명시 클래스 기준으로 처리
   - 섹션 라벨 위에 이미지가 있으면 strong의 border-top을 제거하고 이미지 위로 이동
========================================== */
body.post-page-body--hotel-review-magazine .post-body .post-content figure.post-inline-image.post-inline-image--before-section-label{
  margin-top: 50px !important;
  margin-bottom: 18px !important;
  padding-top: 34px !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image{
  margin-top: 0 !important;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image > strong,
body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  padding-top: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

.preview-body figure.preview-inline-image.preview-inline-image--before-section-label{
  margin-top: 50px !important;
  margin-bottom: 18px !important;
  padding-top: 34px !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
}

.preview-body p.preview-section-label.preview-section-label--after-image{
  margin-top: 0 !important;
}

.preview-body p.preview-section-label.preview-section-label--after-image > strong,
.preview-body p.preview-section-label.preview-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  padding-top: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

/* 추천 호텔 리뷰 이미지 라벨 구분선 최종 보정 v3
   이미지가 섹션 라벨 위에 있을 때는 라벨 strong에 절대 border-top이 남지 않도록
   기존 :has() 기반 라벨 규칙보다 높은 우선순위로 다시 덮어쓴다. */
body.post-page-body--hotel-review-magazine .post-body .post-content figure.post-inline-image.post-inline-image--before-section-label{
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
  padding-top: 34px !important;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image,
body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image:has(> strong:first-child:last-child):has(+ h2){
  margin-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image > strong,
body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  border: 0 !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

.preview-body figure.preview-inline-image.preview-inline-image--before-section-label{
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
  padding-top: 34px !important;
}

.preview-body p.preview-section-label.preview-section-label--after-image > strong,
.preview-body p.preview-section-label.preview-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  border: 0 !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

/* 추천 호텔 리뷰 이미지 라벨 구분선 최종 보정 v4
   - 이미지가 섹션 라벨 위에 들어간 경우에도 라벨의 타이포그래피/표시 스타일은 유지
   - border-top과 padding-top만 이미지 쪽으로 이동 */
body.post-page-body--hotel-review-magazine .post-body .post-content p:has(> strong:first-child:last-child):has(+ h2) > strong,
body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image > strong,
body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-soft) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-size: 0.8rem !important;
  font-weight: 400!important;
  line-height: 1.2;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p:has(> strong:first-child:last-child):has(+ h2):not(.post-section-label--after-image) > strong{
  padding: 34px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image > strong,
body.post-page-body--hotel-review-magazine .post-body .post-content p.post-section-label.post-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

.preview-body p:has(> strong:first-child:last-child):has(+ h2) > strong,
.preview-body p.preview-section-label.preview-section-label--after-image > strong,
.preview-body p.preview-section-label.preview-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-soft, #999999) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-size: 0.8rem !important;
  font-weight: 400!important;
  line-height: 1.2;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  word-break: keep-all;
}

.preview-body p:has(> strong:first-child:last-child):has(+ h2):not(.preview-section-label--after-image) > strong{
  padding: 34px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
  line-height: 1.2;
  word-break: keep-all;
}

.preview-body p.preview-section-label.preview-section-label--after-image > strong,
.preview-body p.preview-section-label.preview-section-label--after-image:has(> strong:first-child:last-child):has(+ h2) > strong{
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  line-height: 1.2;
  word-break: keep-all;
}

/* 2026-07-20 post magazine admin actions placement */
body.post-page-body .post-magazine-head > .post-hero-admin-actions.post-admin-mini-actions{
  position: static !important;
  order: initial !important;
  justify-content: flex-start !important;
  margin: 16px 0 0 !important;
}

/* =========================================================
   Post page: breadcrumb / hero shared alignment
   두 요소가 모든 화면에서 동일한 콘텐츠 기준선과 반응형 간격을 사용합니다.
========================================================= */
body.post-page-body{
  --post-reading-width: 880px;
  --post-page-gutter: 0px;
  --post-page-top-space: clamp(20px, 2.4vw, 32px);
  --post-breadcrumb-hero-gap: clamp(24px, 3vw, 38px);
}

body.post-page-body .post-guide-page,
body.post-page-body--hotel-review-magazine .post-guide-page{
  box-sizing: border-box;
  width: min(800px, calc(100% - (var(--post-page-gutter) * 2)));
  max-width: 800px;
  margin-inline: auto;
  padding: 0 0 clamp(72px, 8vw, 96px);
}

body.post-page-body .post-magazine-hero,
body.post-page-body .post-shell--guide-style .post-hero{
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: auto;
}



body.post-page-body .post-shell--guide-style{
  padding-top: 0;
}

body.post-page-body--hotel-review-magazine .post-shell.post-shell--guide-style{
  padding-top: 40px;
}

@media (max-width: 760px) {
  body.post-page-body{
    --post-page-gutter: 16px;
    --post-page-top-space: 18px;
    --post-breadcrumb-hero-gap: 22px;
  }

  body.post-page-body .post-guide-page,
body.post-page-body--hotel-review-magazine .post-guide-page{
    width: calc(100% - (var(--post-page-gutter) * 2));
    padding-top: 0;
    padding-bottom: 72px;
  }
}


/* Recommended hotel review: room availability CTA */
body.post-page-body--hotel-review-magazine .post-hotel-availability-cta--inline{
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin: clamp(22px, 2.4vw, 30px) auto 0;
  padding: 0;
  box-sizing: border-box;
}

body.post-page-body--hotel-review-magazine .post-hotel-availability-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 24px;
  border: 1px solid #111;
  border-radius: 0;
  background: #111;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

body.post-page-body--hotel-review-magazine .post-hotel-availability-btn:hover{
  background: #fff;
  color: #111;
}

.post-hotel-availability-cta--mobile{
  display: none;
}

@media (max-width: 767px) {
  body.post-page-body--hotel-review-magazine{
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }

  body.post-page-body--hotel-review-magazine .post-hotel-availability-cta--inline{
    display: none;
  }

  body.post-page-body--hotel-review-magazine .post-hotel-availability-cta--mobile{
    position: fixed;
    z-index: 1000;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(0, 0, 0, .12);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, .08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  }

  body.post-page-body--hotel-review-magazine .post-hotel-availability-cta--mobile.is-visible{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  body.post-page-body--hotel-review-magazine .post-hotel-availability-cta--mobile .post-hotel-availability-btn{
    width: 100%;
    min-height: 52px;
  }
}


/* Admin hotel curation manager layout 20260721 */
.admin-curation-manager{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 32px !important;
}

.admin-curation-manager > section{
  min-width: 0;
}

.admin-curation-manager > section + section{
  padding-top: 28px;
  border-top: 1px solid rgba(16, 42, 69, 0.12);
}

.admin-curation-manager .category-manager__create-row{
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.admin-curation-manager .category-manager__create-row .admin-curation-name-input{
  flex: 0 1 50%;
  width: 50%;
  min-width: 0;
}

.admin-curation-manager .category-manager__create-row input:not(.admin-curation-name-input){
  flex: 1 1 auto;
  min-width: 0;
}

.admin-curation-item-fields{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.admin-curation-item-fields .admin-curation-name-input{
  flex: 0 1 50%;
  width: 50%;
  min-width: 0;
}

.admin-curation-item-fields .admin-curation-slug-input{
  flex: 1 1 220px;
  min-width: 0;
}

.admin-curation-item-fields .admin-curation-order-input{
  flex: 0 0 92px;
  width: 92px;
}

.admin-curation-item-fields .admin-curation-active-input{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .admin-curation-manager .category-manager__create-row,
.admin-curation-item-fields{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-curation-manager .category-manager__create-row .admin-curation-name-input,
.admin-curation-item-fields .admin-curation-name-input,
.admin-curation-item-fields .admin-curation-order-input{
    width: 100%;
  }
}


/* ==========================================
   호텔 추천 콘텐츠 공통 호텔명 헤더
   - 추천 호텔 리뷰 / 여행 스타일별 호텔 추천에서 동일 클래스 구조 사용
========================================== */
body.post-page-body .post-body .post-content p.post-hotel-section-label{
  margin: 50px 0 6px !important;
}

body.post-page-body .post-body .post-content p.post-hotel-section-label:first-child{
  margin-top: 0 !important;
}

body.post-page-body .post-body .post-content p.post-hotel-section-label > strong.post-hotel-section-label__text{
  display: block !important;
  margin: 0 !important;
  padding: 34px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-soft, #999999) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

body.post-page-body .post-body .post-content p.post-hotel-section-label:first-child > strong.post-hotel-section-label__text{
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.post-page-body .post-body .post-content p.post-hotel-section-label + h2.post-hotel-section-title{
  display: block !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--hotel-review-ink, #111111) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1.2;
  letter-spacing: -0.03em !important;
  word-break: keep-all;
}

body.post-page-body .post-body .post-content h2.post-hotel-section-title .post-h2-text{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  line-height: 1.2;
  word-break: keep-all;
}

body.post-page-body .post-body .post-content p.post-hotel-section-label.post-section-label--after-image > strong.post-hotel-section-label__text{
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* ==========================================
   호텔 추천 콘텐츠 공통: 섹션 이미지와 호텔명 헤더 순서
   - 구분선은 이미지 위
   - 이미지 아래에 영문 호텔명 라벨과 한글 H2 표시
========================================== */
body.post-page-body .post-body .post-content figure.post-inline-image.post-inline-image--before-section-label{
  margin-top: 50px !important;
  margin-bottom: 18px !important;
  padding-top: 34px !important;
  border-top: 1px solid var(--hotel-review-line, #e5e5e5) !important;
}

body.post-page-body .post-body .post-content figure.post-inline-image.post-inline-image--before-section-label + p.post-hotel-section-label{
  margin-top: 0 !important;
}

body.post-page-body .post-body .post-content p.post-hotel-section-label.post-section-label--after-image > strong.post-hotel-section-label__text{
  padding-top: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
}


/* Post breadcrumb top spacing: all post types */



/* 20260722 Hotel review magazine shared typography and mobile cover V4
   - 추천 호텔 리뷰 + 여행 스타일별 호텔 추천 공통 적용
*/
body.post-page-body--hotel-review-magazine .post-magazine-desc,
body.post-page-body--hotel-review-magazine .post-magazine-desc p{
  line-height: 2 !important;
}

@media (max-width: 767px) {
  body.post-page-body--hotel-review-magazine .post-shell--guide-style .post-hero--product .post-cover-wrap,
body.post-page-body--hotel-review-magazine .post-cover-wrap{
    height: 350px !important;
    min-height: 350px !important;
    aspect-ratio: auto !important;
  }

  body.post-page-body--hotel-review-magazine .post-cover,
body.post-page-body--hotel-review-magazine .post-cover-wrap img{
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
  }
}


/* Global heading rhythm: all page-level h1 elements */
/* Global Korean text wrapping */
p,
strong {
  word-break: keep-all;
}

/* Global scrollbar visibility: preserve scrolling while hiding tracks and thumbs */
html,
body,
* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}


/* 20260727 Hotel editor badge selector + post title metadata */
.editor-hotel-badge-selector{
  min-width: 0;
  margin-inline: 0;
  padding: 0;
  border: 0;
}

.editor-hotel-badge-selector legend{
  padding: 0;
}

.editor-hotel-badge-selector .editor-option-help{
  margin: 6px 0 10px;
}

.editor-hotel-badge-options{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.editor-hotel-badge-option{
  display: flex;
  align-items: center;
  min-height: 42px;
  gap: 9px;
  padding: 9px 11px;
  border: 1px solid var(--line, #dfe2e6);
  border-radius: 10px;
  background: #fff;
  color: #25272b;
  font-size: 13px;
  line-height: 1.35;
  cursor: pointer;
}

.editor-hotel-badge-option:has(input:checked){
  border-color: #111;
  background: #f5f5f3;
  color: #111;
  font-weight: 600;
}

.editor-hotel-badge-option input{
  flex: 0 0 auto;
  margin: 0;
}

body.post-page-body--hotel-intro .post-hotel-title-meta,
body.post-page-body--recommended-hotel-review .post-hotel-title-meta{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 11px;
  color: #666;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.015em;
}

body.post-page-body .post-hotel-title-meta__item{
  display: inline-flex;
  align-items: center;
  color: inherit;
  white-space: nowrap;
}

body.post-page-body .post-hotel-title-meta__item + .post-hotel-title-meta__item::before{
  content: "·";
  margin: 0 5px;
  color: inherit;
  font-weight: 400;
}

body.post-page-body .post-hotel-title-meta__item--location{
  color: inherit;
}

body.post-page-body .post-hotel-title-meta__item--rating{
  gap: 0;
}

body.post-page-body .post-hotel-title-meta__star{
  width: 13px;
  height: 13px;
  fill: currentColor;
}

body.post-page-body .post-hotel-feature-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 16px 0 0;
}

body.post-page-body .post-hotel-feature-badge{
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 5px 10px;
  border: 1px solid #dedede;
  border-radius: 999px;
  background: #fff;
  color: #444;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

body.post-page-body .post-hotel-feature-badges + .post-magazine-desc{
  margin-top: 20px;
}

.preview-hotel-title-meta{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 9px;
  color: #666;
  font-size: 11px;
  font-weight: 600;
}

.preview-hotel-title-meta > span{
  display: inline-flex;
  align-items: center;
}

.preview-hotel-title-meta > span + span::before{
  content: "·";
  margin: 0 7px;
  color: #b2b2b2;
  font-weight: 400;
}

.preview-hotel-title-rating{
  gap: 3px;
}

.preview-hotel-feature-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
}

.preview-hotel-feature-badges span{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid #dedede;
  border-radius: 999px;
  background: #fff;
  color: #444;
  font-size: 11px;
  font-weight: 500;
}

.preview-hotel-feature-badges + .preview-summary{
  margin-top: 16px;
}

@media (max-width: 900px){
  .editor-hotel-badge-options{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px){
  .editor-hotel-badge-options{
    grid-template-columns: 1fr;
  }

  body.post-page-body .post-hotel-title-meta{
    margin-bottom: 10px;
  }

  body.post-page-body .post-hotel-feature-badges{
    gap: 6px;
    margin-top: 14px;
  }

  body.post-page-body .post-hotel-feature-badge{
    padding: 5px 9px;
  }
}

/* 2026-07-28 Recommended hotel review hero: decision-first information hierarchy
   Breadcrumb → hotel meta → H1 → lead judgement → feature badges → cover image */
body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-head{
  padding: 0;
}

body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-lead,
body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-lead p{
  max-width: 760px;
  color: #555 !important;
  font-size: 1.05rem;
  line-height: 1.85 !important;
}

body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-hotel-feature-badges{
  margin-top: 20px;
}

body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-head + .post-cover-wrap,
body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first.post-hero--product .post-magazine-head + .post-cover-wrap{
  margin-top: 30px;
  margin-bottom: 0;
}

body.post-page-body--recommended-hotel-review .post-shell--guide-style .post-magazine-hero--decision-first{
  margin-bottom: 44px;
}

@media (max-width: 767px){
  body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-lead,
  body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-lead p{
    font-size: 1rem;
    line-height: 1.8 !important;
  }

  body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-hotel-feature-badges{
    margin-top: 18px;
  }

  body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first .post-magazine-head + .post-cover-wrap,
  body.post-page-body--recommended-hotel-review .post-magazine-hero--decision-first.post-hero--product .post-magazine-head + .post-cover-wrap{
    margin-top: 24px;
  }

  body.post-page-body--recommended-hotel-review .post-shell--guide-style .post-magazine-hero--decision-first{
    margin-bottom: 36px;
  }
}

/* 20260731 Hotel pick selector + checkbox curation */
.editor-hotel-pick-selector,
.editor-curation-checkbox-selector{
  min-width: 0;
  margin-inline: 0;
  padding: 0;
  border: 0;
}

.editor-hotel-pick-selector legend,
.editor-curation-checkbox-selector legend{
  padding: 0;
}

.editor-hotel-pick-selector .editor-option-help{
  margin: 6px 0 10px;
}

.editor-hotel-pick-options{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.editor-hotel-pick-option,
.editor-curation-checkbox-option{
  display: flex;
  align-items: center;
  min-height: 42px;
  gap: 9px;
  padding: 9px 11px;
  border: 1px solid var(--line, #dfe2e6);
  border-radius: 10px;
  background: #fff;
  color: #25272b;
  font-size: 13px;
  line-height: 1.35;
  cursor: pointer;
}

.editor-hotel-pick-option:has(input:checked),
.editor-curation-checkbox-option:has(input:checked){
  border-color: #111;
  background: #f5f5f3;
  color: #111;
  font-weight: 600;
}

.editor-hotel-pick-option input,
.editor-curation-checkbox-option input{
  flex: 0 0 auto;
  margin: 0;
}

.editor-hotel-pick-custom{
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.editor-hotel-pick-custom[hidden]{
  display: none;
}

.editor-curation-checkbox-options{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 8px;
}

.editor-curation-checkbox-empty{
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px dashed var(--line, #dfe2e6);
  border-radius: 10px;
}

body.post-page-body .post-hotel-title-meta__item--pick{
  color: #111;
  font-weight: 700;
}

@media (max-width: 700px){
  .editor-hotel-pick-options,
  .editor-curation-checkbox-options{
    grid-template-columns: 1fr;
  }
}

/* 20260731 대표 이미지 출처 선택 */
.editor-cover-source-card{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid var(--border, #e1e3e6);
  border-radius:14px;
  background:#fff;
}
.editor-cover-source-selector{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.editor-cover-source-selector legend{
  padding:0;
  margin-bottom:8px;
}
.editor-cover-source-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.editor-cover-source-option{
  display:flex;
  align-items:center;
  min-height:42px;
  gap:9px;
  padding:9px 11px;
  border:1px solid var(--line, #dfe2e6);
  border-radius:10px;
  background:#fff;
  color:#25272b;
  font-size:13px;
  line-height:1.35;
  cursor:pointer;
}
.editor-cover-source-option:has(input:checked){
  border-color:#111;
  background:#f5f5f3;
  color:#111;
  font-weight:600;
}
.editor-cover-source-option input{
  flex:0 0 auto;
  margin:0;
}
.editor-cover-source-panel{
  display:grid;
  gap:7px;
}
.editor-cover-source-panel[hidden]{
  display:none;
}
.editor-agoda-image-html{
  min-height:124px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:12px;
  line-height:1.55;
}
.editor-agoda-image-help{
  margin:0;
}
.editor-agoda-image-status{
  min-height:18px;
}
.editor-agoda-image-status[data-state="success"]{
  color:#176b3a;
}
.editor-agoda-image-status[data-state="error"]{
  color:#b42318;
}
.editor-cover-alt-field{
  display:grid;
  gap:6px;
}
.preview-cover-link{
  display:block;
}
@media (max-width:700px){
  .editor-cover-source-options{
    grid-template-columns:1fr;
  }
}

body.post-page-body .post-cover-link{
  display:block;
  width:100%;
  height:100%;
  line-height:0;
  color:inherit;
  text-decoration:none;
}
body.post-page-body .post-cover-wrap--agoda .post-cover-link:focus-visible{
  outline:2px solid #111;
  outline-offset:3px;
  border-radius:inherit;
}
