/* 탐색 화면의 제목·여백은 여기서 함께 관리한다. 필터 높이는 각 화면에서 실측한다. */
:root {
  --hub-width:1180px;
  --hub-ink:#1d2923;
  --hub-green:#153f33;
  /* Shared desktop edge for navigation, fixed filters and their results. */
  --explore-shell-width:min(calc(100% - 40px),clamp(1180px,84vw,1360px));
}
.tp-hd,.nl-head,.cp-hd,.ct-hd,.sh-hd,.cm-hd {
  background:#fbfcfb!important;
  border-bottom:1px solid #dfe6e2!important;
}
.tp-hd-in,.nl-head>div,.cp-hd-in,.ct-hd-in,.sh-hd-in,.cm-hd-in {
  box-sizing:border-box;
  width:min(var(--hub-width),calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:22px 0 14px!important;
}
.tp-top,.cup-listhead,.ct-top,.sh-top,.cm-hd-top {
  align-items:center!important;
  gap:12px!important;
  min-height:42px;
  margin:0 0 13px!important;
}
.tp-eyebrow,.cup-eyebrow,.cm-eyebrow,.nl-brand small { display:none; }
.tp-ptitle,.cup-listtitle h1,.ct-ptitle h1,.sh-ptitle .t,.cm-title,.nl-brandtitle {
  margin:0!important;
  color:var(--hub-ink)!important;
  font-size:27px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.045em!important;
}
.tp-ptitle,.cup-listtitle h1,.ct-ptitle,.sh-ptitle,.cm-title,.nl-brand { gap:10px!important; }
.tp-ptitle i,.cup-listtitle h1 i,.ct-ptitle>i,.sh-ptitle>i,.cm-title>i,.nl-brandmark {
  display:grid!important;
  place-items:center;
  flex:none;
  box-sizing:border-box;
  width:30px!important;
  height:30px!important;
  border:1.5px solid var(--hub-green)!important;
  border-radius:8px!important;
  background:transparent;
  color:var(--hub-green)!important;
  font-size:14px!important;
}
.ct-top .hub-subtabs,.sh-top .hub-subtabs { margin:0 0 0 auto!important; }
.cup-listhead { flex-direction:row; }
.cup-listtitle { width:100%; }
.nl-head>div { height:auto;min-height:78px;gap:12px; }
.nl-brand { min-height:42px;min-width:0;flex:none; }
.nl-nav { min-width:0;max-width:none;padding:3px; }
.nl-nav a { padding:8px 12px;font-size:13px; }
.cm-wrap { width:min(var(--hub-width),calc(100% - 40px)); }
@media(max-width:900px) {
  .tp-hd-in,.nl-head>div,.cp-hd-in,.ct-hd-in,.sh-hd-in,.cm-hd-in {
    width:100%!important;padding:16px 16px 12px!important;
  }
  .cm-wrap { width:100%;padding-left:16px;padding-right:16px; }
}
@media(max-width:768px) {
  .tp-top,.cup-listhead,.ct-top,.sh-top,.cm-hd-top { min-height:36px;margin-bottom:10px!important;gap:8px!important; }
  .tp-ptitle,.cup-listtitle h1,.ct-ptitle h1,.sh-ptitle .t,.cm-title,.nl-brandtitle { font-size:18px!important; }
  .tp-ptitle,.cup-listtitle h1,.ct-ptitle,.sh-ptitle,.cm-title,.nl-brand { gap:6px!important; }
  .tp-ptitle i,.cup-listtitle h1 i,.ct-ptitle>i,.sh-ptitle>i,.cm-title>i,.nl-brandmark {
    width:26px!important;height:26px!important;font-size:12px!important;
  }
  .nl-head>div { min-height:64px; }
  .nl-brand { min-height:36px; }
  .nl-nav a { display:flex;align-items:center;min-height:30px;padding:0 9px; }
  .tp-top .tp-seg,.ct-top .hub-subtabs,.sh-top .hub-subtabs { padding:3px!important; }
  .tp-top .tp-seg label,.ct-top .hub-subtab,.sh-top .hub-subtab,.cup-tab { min-height:30px; }
  .ct-top .hub-subtab,.sh-top .hub-subtab { min-height:30px!important; }
}
@media(max-width:520px) {
  .tp-ptitle,.cup-listtitle h1,.ct-ptitle h1,.sh-ptitle .t,.cm-title,.nl-brandtitle { font-size:17px!important; }
  .nl-brandmark { display:none!important; }
  .nl-nav { flex:1; }
}

/* C option: one desktop edge across the five discovery pages. The page-specific
   headers keep their measured height and fixed position; only their width and
   the result containers change together. Small screens retain 16px gutters. */
@media (min-width:901px) {
  .header-inner,
  .visit-ticker-window,
  .tp-hd-in,.cp-hd-in,.ct-hd-in,.sh-hd-in,.cm-hd-in,
  .tp-list-wrap,.cup-page,.ct-body,.sh-body,.cm-layout,
  #guestNudgeStrip .tp-native-nudge {
    box-sizing:border-box;
    width:var(--explore-shell-width)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .cm-layout .cm-wrap {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .cm-layout {
    grid-template-columns:minmax(0,1fr) 320px!important;
    /* Keep the reading feed below ~920px as the shared shell grows. */
    gap:clamp(28px,calc((100vw - 1440px)/4),140px)!important;
  }
  /* The feed card may grow, but the text keeps a comfortable reading line. */
  .cm-layout .cm-ttl,.cm-layout .cm-tx { max-width:75ch; }
}
@media (min-width:901px) and (max-width:1023px) {
  /* One-column community remains easy to scan before the PC side rail appears. */
  .cm-layout .cm-wrap { max-width:760px!important; }
}
