/* 「이번 주말」 page, 10/18 redesign (report 1-226): the home's ticket in region blocks, folded piles, a tile map, sharing. */
.wp-block-post-title { display:none; }
/* This collection supplies its own heading; the generic page's hidden heading must not leave a second top gap. */
body.culture-final-polish:has(.wk3) main.culture-page { margin-block-start:0; padding-top:40px; }
body:has(.wk3) .culture-page > .wp-block-post-content { margin-block-start:0; }
.wk3 { --paper:#f7f1e6; --card:#fffaf0; --ink:#2a211c; --muted:#7a6d62; --line:#e0d3bf; --wine:#7a2e35; --wineSoft:#f1dfd9; --ok:#2f6b4f;
  position:relative; width:min(1080px, calc(100vw - 48px)); max-width:none !important; left:50%; transform:translateX(-50%); padding:0 0 56px; color:var(--ink); }
.wk3 *, .wk3 *::before, .wk3 *::after { box-sizing:border-box; }
.wk3 h1, .wk3 h2, .wk3 h3, .wk3 p { margin:0; }

/* Head: words on the left, the tile map on the right. */
.wk-head { display:grid; grid-template-columns:1fr auto; gap:24px 40px; align-items:start; padding:4px 0 28px; border-bottom:1px solid var(--line); margin-bottom:40px; }
.wk-head__text { align-self:center; }
.wk-meta { font:600 13px/1.4 var(--culture-sans, sans-serif); color:var(--muted); }
.wk3 h1 { margin-top:10px; font:700 34px/1.25 "Noto Serif KR", Batang, serif; letter-spacing:-.02em; }
.wk-dates { margin-top:12px !important; font:700 22px/1.35 "Noto Serif KR", Batang, serif; color:var(--wine); }
.wk-note { margin-top:12px !important; max-width:560px; font-size:14px; line-height:1.65; color:var(--muted); }
.wk-share { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:22px; }
.wk-share.culture-share { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:22px; }
.culture-share button { display:inline-flex; align-items:center; gap:7px; padding:8px 14px 8px 12px; border-radius:999px; font:700 13px/1.2 var(--culture-sans, sans-serif); cursor:pointer; transition:background-color .15s, border-color .15s, color .15s; }
.culture-share button svg { flex:none; }
/* KakaoTalk: its own soft yellow with the speech bubble. */
.culture-share .culture-share__kakao { border:1px solid #e3cf86; background:#f6eab8; color:#3a3104; }
.culture-share .culture-share__kakao:hover { background:#f0df9c; }
/* The link: a quiet paper button in the site's wine; it says so when copied. */
.culture-share .culture-share__link { border:1px solid #d9c9b2; background:#fffaf0; color:#6a2a31; }
.culture-share .culture-share__link:hover { border-color:#7a2e35; }
.culture-share .culture-share__link.is-done { border-color:#2f6b4f; background:#eef5ef; color:#2f6b4f; }
.culture-share__done { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

.wk-map { position:relative; width:184px; align-self:start; }
.wk-map img { display:block; width:100%; height:auto; opacity:.9; }
.wk-map .off { position:absolute; width:5px; height:5px; margin:-2.5px 0 0 -2.5px; border-radius:50%; background:#b9a68a; opacity:.55; }
.wk-map .on { position:absolute; display:flex; align-items:center; gap:5px; transform:translate(-6px, -50%); color:var(--wine); text-decoration:none; white-space:nowrap; }
.wk-map .on.is-left { flex-direction:row-reverse; transform:translate(calc(-100% + 6px), -50%); }
.wk-map .on[href="#wk-r11"] { flex-direction:row-reverse; transform:translate(calc(-100% + 6px), -50%); }
.wk-map .on i { width:12px; height:12px; border-radius:50%; background:var(--wine); box-shadow:0 0 0 3px #fffaf0cc; flex:none; }
.wk-map .on span { padding:1px 7px; border-radius:999px; background:#fffaf0e6; font:700 12px/1.5 var(--culture-sans, sans-serif); box-shadow:0 1px 2px #2a211c1f; }
.wk-map .on b { font:700 13px/1 "Noto Serif KR", Batang, serif; }
.wk-map .on:hover span { background:var(--wine); color:#fff; }

/* Region blocks: two columns, a region never split. */
.wk-regions { columns:2; column-gap:28px; }
.wk-region { display:inline-block; width:100%; break-inside:avoid; margin:0 0 46px; scroll-margin-top:90px; }
/* Identify actual columns so changing region counts retain their natural flow. */
@media (min-width:761px) {
  .wk-regions.is-staggered { padding-bottom:var(--wk-stagger-tail, 26px); }
  .wk-regions.is-staggered > .wk-region.is-right-column { transform:translateY(var(--wk-region-offset, 26px)); }
}
.wk-region > header { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:0 2px 10px; }
.wk-region h2 { font:700 22px/1.3 "Noto Serif KR", Batang, serif; }
/* General article-heading spacing does not belong inside the compact region/card headers. */
.culture-final-polish .culture-page .wk3 :is(.wk-region,.wk-places) h2 { margin:0; }
.wk-n { font:600 13px var(--culture-sans, sans-serif); color:var(--muted); }
.wk-region .culture-weekend__weather { flex-basis:100%; display:flex; flex-wrap:wrap; align-items:center; gap:3px 12px; font:500 13px/1.4 var(--culture-sans, sans-serif); color:var(--muted); }
.wk-region .culture-weekend__wx { display:inline-flex; align-items:center; gap:5px; }
.wk-region .culture-weekend__wx img { width:22px; height:22px; }
.wk-region .culture-weekend__weather small { font-size:11.5px; }
.wk-wet { margin:-2px 2px 10px !important; font:600 12.5px/1.5 var(--culture-sans, sans-serif); color:#3d5d74; }

/* The ticket: picture | torn line | date stub, words and the keep link. */
.wk-tk { position:relative; display:grid; grid-template-columns:40% 1fr; background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.wk-tk.no-image { grid-template-columns:1fr; }
/* 반달 홈에는 선이 없다(확정본): the notches are cut out of the card, its border with them (10/20: a painted circle sat
   inside the clipped card, so the card's own top and bottom border still ran straight across each notch). */
.wk-tk:not(.no-image) { -webkit-mask:radial-gradient(circle 8px at 40% 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 8px at 40% 100%, #0000 97%, #000) bottom / 100% 51% no-repeat; mask:radial-gradient(circle 8px at 40% 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 8px at 40% 100%, #0000 97%, #000) bottom / 100% 51% no-repeat; }
.wk-pic { position:relative; display:block; border-right:2px dashed var(--line); }
.wk-pic img { display:block; width:100%; height:100%; min-height:160px; object-fit:cover; }
.wk-badge { position:absolute; left:10px; top:10px; padding:2px 9px; border-radius:999px; background:var(--wine); color:#fff; font:700 12px/1.5 var(--culture-sans, sans-serif); }
.wk-info { display:grid; grid-template-columns:auto 1fr; grid-template-rows:1fr auto; gap:10px 14px; padding:16px 16px 14px; min-width:0; }
.wk-sd { display:flex; flex-direction:column; align-items:center; min-width:54px; color:var(--wine); text-align:center; }
.wk-sd i { font:600 11px/1.3 var(--culture-sans, sans-serif); font-style:normal; color:var(--muted); }
.wk-sd b { font:700 31px/1.05 "Noto Serif KR", Batang, serif; }
.wk-tx { min-width:0; }
.wk-tx small { display:block; font:600 12px/1.4 var(--culture-sans, sans-serif); color:var(--wine); }
.wk-tk h3 { margin:3px 0 5px; font:700 18px/1.36 "Noto Serif KR", Batang, serif; word-break:keep-all; overflow-wrap:anywhere; }
.wk-tk h3 a { color:var(--ink); text-decoration:none; }
.wk-tk h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.wk-tk h3 span { display:block; margin-top:3px; font-weight:500; font-size:14px; line-height:1.5; color:#4a3e36; }
.wk-ok { font:600 12px/1.4 var(--culture-sans, sans-serif); color:var(--ok); }
.wk-ok .wk-src { color:var(--muted); font-weight:500; }
.wk-keep { grid-column:1 / -1; display:block; padding:8px 10px; border:1.5px solid var(--ink); border-radius:8px; color:var(--ink); text-align:center; text-decoration:none; font:700 13.5px/1.2 var(--culture-sans, sans-serif); }
.wk-keep em { font-style:normal; }
.wk-keep:hover { background:var(--ink); color:#fff; }

/* A pile: the first ticket on top and the next ones really lying behind it, a little lower and smaller, until opened. */
.wk-stack .wk-more { display:grid; gap:12px; margin-top:12px; }
.wk-stack.is-folded { display:grid; }
.wk-stack.is-folded > .wk-more { display:contents; }
.wk-stack.is-folded > .wk-first, .wk-stack.is-folded > .wk-more > .wk-tk { grid-area:1 / 1; }
.wk-stack.is-folded > .wk-first { position:relative; z-index:3; }
.wk-stack.is-folded > .wk-first > .wk-tk { height:100%; }
.wk-stack.is-folded > .wk-more > .wk-tk { pointer-events:none; transform-origin:50% 100%; box-shadow:0 2px 6px #2a211c14; }
.wk-stack.is-folded > .wk-more > .wk-tk:nth-child(1) { z-index:2; transform:translateY(22px) scale(.95); filter:brightness(.97); }
.wk-stack.is-folded > .wk-more > .wk-tk:nth-child(2) { z-index:1; transform:translateY(42px) scale(.90); filter:brightness(.94); }
.wk-stack.is-folded > .wk-more > .wk-tk:nth-child(n+3) { display:none; }
/* Behind the top ticket only the picture and the paper show, not their words. */
.wk-stack.is-folded > .wk-more .wk-info, .wk-stack.is-folded > .wk-more .wk-badge { visibility:hidden; }
.wk-stack.is-folded > .wk-fold { grid-row:2; margin-top:calc(var(--peek, 1) * 21px + 16px); }
.wk-fold { display:block; width:100%; margin-top:14px; padding:9px 12px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--wine); font:700 13.5px/1.2 var(--culture-sans, sans-serif); cursor:pointer; }
.wk-fold:hover { border-color:var(--wine); }

/* Places without dates: the existing quiet cards. */
.wk-places { margin-top:6px; padding-top:24px; border-top:1px solid var(--line); }
.wk-places h2 { font:700 20px/1.4 "Noto Serif KR", Batang, serif; }
.wk-places > p { margin:4px 0 14px; font-size:14px; color:var(--muted); }
.wk-places ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:12px; }
.wk-places .culture-weekend__card a { box-sizing:border-box; display:flex; gap:12px; height:100%; padding:10px; background:var(--card); border:1px solid var(--line); border-radius:12px; text-decoration:none; color:inherit; }
.wk-places .culture-weekend__card a:hover { border-color:var(--wine); }
.wk-places .culture-weekend__card img, .wk-places .culture-weekend__noimage { flex:0 0 110px; width:110px; height:68px; object-fit:cover; border-radius:6px; }
.wk-places .culture-weekend__text { display:flex; flex-direction:column; gap:3px; min-width:0; }
.wk-places .culture-weekend__label { font:600 12px/1.4 var(--culture-sans, sans-serif); color:var(--wine); }
.wk-places .culture-weekend__title { font:600 15px/1.45 "Noto Serif KR", Batang, serif; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.wk-empty { margin:28px 0; font-size:15px; }

/* Phone: one column; a flat ticket of fixed height — the date stub becomes a line, the subtitle goes, the keep link
   becomes a small ＋ so a long title cannot stretch the ticket. */
@media (max-width:760px) {
  body.culture-final-polish:has(.wk3) main.culture-page { padding-top:28px; }
  .wk3 { width:auto; left:auto; transform:none; padding:0 0 40px; }
  .wk-head { grid-template-columns:1fr; gap:20px; padding-top:0; }
  .wk3 h1 { font-size:26px; }
  .wk-dates { font-size:19px; }
  .wk-map { width:min(180px, 52vw); justify-self:center; }
  .wk-regions { columns:1; }
  .wk-region { margin-bottom:38px; }
  .wk-region h2 { font-size:20px; }
  .wk-tk { grid-template-columns:40% 1fr; border-radius:12px; }
  .wk-pic img { min-height:0; }
  .wk-badge { left:6px; top:6px; padding:1px 7px; font-size:11px; }
  /* Kind and date on one line, title (two lines at most), then the check and the keep pill; only the subtitle goes,
     so the ticket stays close to the picture's ratio. */
  .wk-info { grid-template-columns:auto 1fr auto; gap:2px 6px; padding:11px 10px 11px 12px; align-content:center; }
  .wk-tx { display:contents; }
  .wk-tx small { grid-column:1; grid-row:1; align-self:baseline; font-size:11.5px; }
  .wk-tx small::after { content:" ·"; }
  .wk-sd { grid-column:2 / -1; grid-row:1; align-self:baseline; flex-direction:row; align-items:baseline; gap:3px; min-width:0; text-align:left; }
  .wk-sd b { font-size:15px; } .wk-sd i { font-size:11.5px; }
  .wk-tk h3 { grid-column:1 / -1; grid-row:2; margin:1px 0 3px; font-size:15.5px; line-height:1.38; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .wk-tk h3 span { display:none; }
  .wk-ok { grid-column:1 / 3; grid-row:3; align-self:center; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .wk-ok .wk-src, .wk-ok .wk-y { display:none; }
  .wk-keep { grid-column:3; grid-row:3; align-self:center; padding:4px 10px; border-width:1.2px; border-radius:999px; font-size:12px; white-space:nowrap; }
  .wk-places ul { grid-template-columns:1fr; }
}
