/*
Theme Name: 지금 어디서 뭐해
Theme URI: https://event.blogiest.com/
Author: Blogiest
Description: 축제, 공연, 연휴, 승차권 소식을 날짜 중심으로 정리하는 한국어 행사 정보 블로그.
Version: 2.0.0
Text Domain: blogiest
*/
:root{
  --canvas:#f4f6f8;--card:#fff;--ink:#121826;--muted:#566074;--line:#dde2e8;
  --brand:#0a7d70;--brand-soft:#e2f3f0;--stub:#ffd84d;--stub-ink:#3a2f00;
  --t-festivals:#e0443c;--t-weekend-events:#0a7d70;--t-performances-exhibitions:#7048d8;--t-holidays-seasonal:#c87a0a;--t-transport-booking:#2559d6;--t-sales-events:#c42a68;--t-other:#566074;
  --font:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;
  --wrap:1040px;--read:700px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 17px/1.75 var(--font);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:100;background:#fff;color:#000;padding:8px 12px}

/* header: wordmark, then topics as a scrollable tab row */
.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-in{width:min(var(--wrap),100% - 32px);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:-.03em;white-space:nowrap}
.brand-mark{width:26px;height:20px;background:var(--stub);border-radius:4px;position:relative;flex:none}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;top:50%;width:8px;height:8px;margin-top:-4px;background:var(--card);border-radius:50%}
.brand-mark::before{left:-4px}.brand-mark::after{right:-4px}
.tabs{flex:1 0 100%;order:3;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}.tabs::-webkit-scrollbar{display:none}
.tabs ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.brand{min-height:52px}
.tabs a{display:block;padding:8px 12px;border-radius:999px;text-decoration:none;font-size:.95rem;font-weight:600;color:var(--muted);white-space:nowrap}
.tabs a:hover,.tabs .current-menu-item a,.tabs .current-cat a{background:var(--brand-soft);color:var(--brand)}

.main{width:min(var(--wrap),100% - 32px);margin:0 auto;padding:28px 0 64px;min-height:60vh}

/* home: today, then search, then topics, then the latest posts */
.today{padding:20px 0 8px}
.today-date{margin:0 0 6px;color:var(--muted);font-weight:600;font-size:.98rem}
.today h1{margin:0;font-size:clamp(1.7rem,5.2vw,2.6rem);line-height:1.25;letter-spacing:-.035em;font-weight:800;max-width:18em}
.today p.lead{margin:12px 0 0;color:var(--muted);max-width:34em}
.find{display:flex;gap:8px;margin:22px 0 0;max-width:520px}
.find input[type=search]{flex:1;min-width:0;height:48px;padding:0 16px;font:inherit;font-size:1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.find input[type=search]:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-soft)}
.find button{height:48px;padding:0 20px;font:inherit;font-weight:700;color:#fff;background:var(--brand);border:0;border-radius:12px;cursor:pointer}
.find button:hover{background:#086a5f}
.sec{margin:40px 0 14px;font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.topic-tile{display:block;padding:14px 16px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;text-decoration:none;--c:var(--t-other)}
.topic-tile b::before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--c)}
.topic-tile b{display:block;font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.topic-tile span{display:block;margin-top:2px;color:var(--muted);font-size:.88rem;line-height:1.45}
.topic-tile:hover{border-color:var(--c);box-shadow:0 0 0 1px var(--c)}

.topic-tile.topic-festivals{--c:var(--t-festivals)}.topic-tile.topic-weekend-events{--c:var(--t-weekend-events)}.topic-tile.topic-performances-exhibitions{--c:var(--t-performances-exhibitions)}.topic-tile.topic-holidays-seasonal{--c:var(--t-holidays-seasonal)}.topic-tile.topic-transport-booking{--c:var(--t-transport-booking)}.topic-tile.topic-sales-events{--c:var(--t-sales-events)}

/* a post row: date stub | title and summary | picture */
.rows{display:flex;flex-direction:column;gap:12px}
.row{--c:var(--t-other);position:relative;display:grid;grid-template-columns:76px 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.row.topic-festivals{--c:var(--t-festivals)}.row.topic-weekend-events{--c:var(--t-weekend-events)}.row.topic-performances-exhibitions{--c:var(--t-performances-exhibitions)}.row.topic-holidays-seasonal{--c:var(--t-holidays-seasonal)}.row.topic-transport-booking{--c:var(--t-transport-booking)}.row.topic-sales-events{--c:var(--t-sales-events)}
.stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--stub);color:var(--stub-ink);text-decoration:none;border-right:2px dashed rgba(58,47,0,.35);position:relative}
.stub b{font-size:1.3rem;line-height:1.1;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stub span{font-size:.78rem;font-weight:700}
.stub::before,.stub::after{content:"";position:absolute;right:-7px;width:12px;height:12px;border-radius:50%;background:var(--canvas)}
.stub::before{top:-7px}.stub::after{bottom:-7px}
.row-body{padding:14px 16px 16px;min-width:0}
.row-meta{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:center;font-size:.82rem;color:var(--muted)}
.topic{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);text-decoration:none}
.topic::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,var(--t-other))}
.row-title{margin:0;font-size:1.12rem;line-height:1.45;font-weight:800;letter-spacing:-.02em}
.row-title a{text-decoration:none}.row-title a:hover{text-decoration:underline;text-underline-offset:3px}
.row-text{margin:6px 0 0;color:var(--muted);font-size:.93rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-photo{display:none}
.row-lead .row-title{font-size:1.3rem}

.empty{padding:26px 22px;background:var(--card);border:1.5px dashed var(--line);border-radius:14px;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:4px}
.empty a{color:var(--brand);font-weight:700}

/* article */
.post{width:min(var(--read),100%);margin:0 auto}
.post-head{padding:12px 0 6px}
.post-head .row-meta{font-size:.9rem}
.post-head h1{margin:.3em 0 .35em;font-size:clamp(1.65rem,4.6vw,2.3rem);line-height:1.38;letter-spacing:-.035em;font-weight:800}
.post-head .lead{margin:0;color:var(--muted);font-size:1.05rem}
.checked{display:inline-flex;gap:8px;align-items:center;margin-top:14px;padding:6px 12px;background:var(--stub);color:var(--stub-ink);border-radius:8px;font-size:.88rem;font-weight:700}
.post-photo{margin:20px 0 6px;border-radius:14px;overflow:hidden;background:var(--brand-soft)}
.post-photo img{width:100%}
.post-body{font-size:1.06rem;line-height:1.85}
.post-body h2{margin:2em 0 .5em;font-size:1.4rem;line-height:1.4;letter-spacing:-.025em;font-weight:800}
.post-body h3{margin:1.6em 0 .4em;font-size:1.15rem;font-weight:800}
.post-body p{margin:0 0 1.1em}
.post-body a{color:var(--brand);text-underline-offset:3px}
.post-body ul,.post-body ol{padding-left:1.3em}
.post-body table{width:100%;border-collapse:collapse;margin:1.3em 0;font-size:.95rem;background:var(--card)}
.post-body th,.post-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.post-body th{background:var(--brand-soft);font-weight:700}
.post-body figure{margin:1.5em 0}.post-body figure img{border-radius:12px}.post-body figcaption{margin-top:6px;font-size:.85rem;color:var(--muted)}
.notice{margin:28px 0 0;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--stub);border-radius:10px;font-size:.93rem;color:var(--muted)}
.notice a{color:var(--brand);font-weight:700}
.post-foot{margin-top:22px;font-size:.9rem;color:var(--muted)}
.post-nav{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:.95rem}
.post-nav .nav-links{display:flex;justify-content:space-between;gap:16px}.post-nav a{text-decoration:none;font-weight:700}

/* pages, lists, search, 404 */
.page{width:min(var(--read),100%);margin:0 auto}.page h1{font-size:2rem;line-height:1.3;letter-spacing:-.03em;font-weight:800}.page-body h2{margin-top:1.8em;font-size:1.2rem;font-weight:800}
.list-head{padding:12px 0 18px}.list-head h1{margin:0;font-size:clamp(1.6rem,4.6vw,2.2rem);letter-spacing:-.03em;font-weight:800}.list-head p{margin:6px 0 0;color:var(--muted)}
.nf{text-align:center;padding:56px 0}.nf b{display:block;font-size:3.6rem;line-height:1;font-weight:800;color:var(--brand)}.nf h1{margin:.4em 0 .2em;font-size:1.5rem}.nf p{color:var(--muted)}
.nf .find{margin:20px auto}
.navigation.pagination{margin-top:26px}.page-numbers{display:inline-block;min-width:40px;padding:8px 12px;margin-right:4px;text-align:center;border:1px solid var(--line);background:var(--card);border-radius:10px;text-decoration:none;font-weight:700}.page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff}

.foot{background:var(--ink);color:#c5ccd8;font-size:.9rem}
.foot-in{width:min(var(--wrap),100% - 32px);margin:0 auto;padding:30px 0;display:grid;gap:18px}
.foot b{color:#fff}.foot a{color:#fff;text-decoration:none;margin-right:18px}.foot a:hover{text-decoration:underline}
.foot p{margin:0}

@media(min-width:720px){
  body{font-size:17.5px}
  .tabs{flex:1;order:0;padding-bottom:0}.tabs ul{justify-content:flex-end}.brand{min-height:0}
  .topics{grid-template-columns:repeat(3,1fr)}
  .row{grid-template-columns:92px 1fr 168px}
  .row-photo{display:block;margin:12px;border-radius:10px;overflow:hidden;background:var(--brand-soft)}
  .row-photo img{width:100%;height:100%;min-height:104px;object-fit:cover}
  .row-lead{grid-template-columns:92px 1fr 240px}
  .stub b{font-size:1.5rem}
  .foot-in{grid-template-columns:1.4fr 1fr;align-items:end}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
