/*
Theme Name: 할인극장 (kadence)
Template: kadence
Version: 1.260930.2348
Description: 할인극장 전용 꾸미기. 설계서(profile.json)의 색·글꼴이 :root 변수로 들어오고, 주제 맞춤 CSS 는 아래 "주제 맞춤" 절에 쓴다.
*/
:root {
  --pbn-primary: #15803d;
  --pbn-accent: #d97706;
  --pbn-bg: #f7fbf7;
  --pbn-text: #14211a;
  --pbn-heading-font: "Noto Serif KR", sans-serif;
  --pbn-body-font: "Noto Sans KR", sans-serif;
}
body { background: var(--pbn-bg); color: var(--pbn-text); font-family: var(--pbn-body-font); font-size: 16px; line-height: 1.75; }
h1, h2, h3, h4, .site-title { font-family: var(--pbn-heading-font); }
a { color: var(--pbn-primary); }
a:hover { color: var(--pbn-accent); }
.site-header, .main-header-bar, .site-header-inner { border-bottom: 3px solid var(--pbn-primary); }

/* 글 속 요소 — Serotonin 글 엔진이 이 클래스를 쓴다(요약 상자·표·체크리스트·자주 묻는 질문). 이름은 고정, 모양은 노드마다 다르게 */
.pbn-summary { background: color-mix(in srgb, var(--pbn-primary) 8%, white); border-left: 4px solid var(--pbn-primary); padding: 1rem 1.25rem; margin: 1.5rem 0; border-radius: 6px; }
.pbn-summary strong { color: var(--pbn-primary); }
.pbn-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 15px; }
.pbn-table th { background: var(--pbn-primary); color: #fff; text-align: left; padding: .6rem .75rem; }
.pbn-table td { border-bottom: 1px solid #e5e7eb; padding: .6rem .75rem; }
.pbn-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pbn-checklist { list-style: none; padding-left: 0; }
.pbn-checklist li { padding-left: 1.75rem; position: relative; margin: .4rem 0; }
.pbn-checklist li::before { content: "✓"; position: absolute; left: .25rem; color: var(--pbn-accent); font-weight: 700; }
.pbn-faq details { border: 1px solid #e5e7eb; border-radius: 6px; padding: .75rem 1rem; margin: .5rem 0; }
.pbn-faq summary { cursor: pointer; font-weight: 600; font-family: var(--pbn-heading-font); }
.pbn-author-box { display: flex; gap: 1rem; align-items: center; padding: 1rem; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; }

/* 모바일(390px) 우선 — 12px 미만 글자·44px 미만 탭 금지 */
@media (max-width: 480px) {
  body { font-size: 16px; }
  .pbn-table { font-size: 14px; }
  .site-header a, .main-navigation a { min-height: 44px; display: inline-flex; align-items: center; }
}

/* ===== 주제 맞춤 (⑧ 꾸미기에서 세션이 쓴다: 첫 화면 구성·분위기·헤더·사이드바·푸터) ===== */

/* ===== twinks-movies.com 주제 맞춤 (A 상영 시간표형 — 할인극장) ===== */
body { word-break: keep-all; }
.site-header, #masthead { background: #fffdf5; }
.pbn-home { max-width: 1080px; margin: 0 auto; padding: 0 16px 24px; }

/* 극장 간판 — 소개 띠 */
.pbn-marquee { background: var(--pbn-primary); color: #f7fbf7; border-radius: 10px; padding: 26px 22px 22px; margin: 14px 0 26px; position: relative; overflow: hidden; }
.pbn-marquee::before, .pbn-marquee::after { content: ""; position: absolute; left: 14px; right: 14px; height: 0; border-top: 2px dotted rgba(255,255,255,.55); }
.pbn-marquee::before { top: 9px; } .pbn-marquee::after { bottom: 9px; }
.pbn-marquee h1 { font-family: var(--pbn-heading-font); color: #fff; font-size: 1.7rem; margin: 0 0 .4rem; letter-spacing: .02em; }
.pbn-marquee p { margin: 0; max-width: 62ch; color: #e6f4e8; }
.pbn-marquee .pbn-now { display: inline-block; background: var(--pbn-accent); color: #1c1917; font-weight: 700; font-size: .8rem; border-radius: 999px; padding: 2px 10px; margin-bottom: .6rem; letter-spacing: .04em; }

/* 상영 시간표 — 이달의 세일 */
.pbn-section-title { font-family: var(--pbn-heading-font); font-size: 1.2rem; margin: 30px 0 12px; padding-bottom: .35rem; border-bottom: 2px solid var(--pbn-primary); display: flex; align-items: baseline; gap: .6rem; }
.pbn-section-title small { font-family: var(--pbn-body-font); font-weight: 400; font-size: .8rem; color: #4b5b50; }
.pbn-timetable-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; background: #fffdf5; border: 1px solid #dfe9df; border-radius: 8px; }
.pbn-timetable { width: 100%; border-collapse: collapse; font-size: 15px; }
.pbn-timetable th { background: #eaf5ec; color: var(--pbn-primary); text-align: left; padding: .65rem .8rem; font-family: var(--pbn-heading-font); font-weight: 700; border-bottom: 2px solid var(--pbn-primary); }
.pbn-timetable td { padding: .65rem .8rem; border-bottom: 1px dashed #d9e5db; vertical-align: top; }
.pbn-timetable tr:last-child td { border-bottom: 0; }
.pbn-timetable .pbn-when { font-variant-numeric: tabular-nums; white-space: nowrap; color: #2f4a38; font-weight: 600; }
.pbn-timetable .pbn-tag { display: inline-block; font-size: .74rem; border: 1px solid var(--pbn-accent); color: #92400e; border-radius: 4px; padding: 0 .4rem; margin-right: .3rem; vertical-align: middle; }
.pbn-note { font-size: .82rem; color: #4b5b50; margin: 8px 2px 0; }

/* 카테고리 타일 — 상영관 번호처럼 */
.pbn-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; counter-reset: hall; }
.pbn-cats li { background: #fffdf5; border: 1px solid #dfe9df; border-top: 4px solid var(--pbn-primary); border-radius: 8px; padding: 14px 16px 14px; min-height: 44px; position: relative; }
.pbn-cats li::before { counter-increment: hall; content: counter(hall) "관"; position: absolute; top: 10px; right: 12px; font-size: .74rem; color: var(--pbn-accent); font-weight: 700; letter-spacing: .04em; }
.pbn-cats a { display: block; font-family: var(--pbn-heading-font); font-weight: 700; color: var(--pbn-primary); text-decoration: none; padding: 4px 0 2px; min-height: 44px; }
.pbn-cats small { display: block; color: #4b5b50; line-height: 1.5; }

/* 최근 글 — 티켓 목록 */
.pbn-recent { list-style: none; padding: 0; margin: 0; }
.pbn-recent li { display: grid; grid-template-columns: 6.2rem 1fr; gap: 12px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid #dfe9df; }
.pbn-recent time { color: #4b5b50; font-size: .88rem; font-variant-numeric: tabular-nums; }
.pbn-recent a { text-decoration: none; font-weight: 600; }
.pbn-recent .pbn-cat { display: inline-block; font-size: .76rem; color: var(--pbn-primary); background: #eaf5ec; border-radius: 4px; padding: 0 .45rem; margin-right: .4rem; }
.pbn-footnote { text-align: center; font-size: .82rem; color: #4b5b50; padding: 14px 16px 22px; border-top: 2px dotted #cfe0d2; background: var(--pbn-bg); }

/* 글 속 요소 — 크림 카드 + 진초록 선 */
.entry-content .pbn-summary { background: #fffdf5; border-left-color: var(--pbn-accent); }
.entry-content .pbn-table th { background: #eaf5ec; color: var(--pbn-primary); border-bottom: 2px solid var(--pbn-primary); }
.entry-content h2 { border-bottom: 2px solid #dfe9df; padding-bottom: .3rem; }
.pbn-author-box { background: #fffdf5; border-color: #dfe9df; }

/* Kadence 다듬기 — 홈 제목 띠 제거, 로고 크기, 모바일 */
.home .entry-header, .home .page-title, .home .site-page-title { display: none; }
.site-branding a img, .site-branding img.custom-logo, .site-branding .custom-logo { width: 320px !important; max-width: 100% !important; height: auto !important; }
.site-branding .site-title, .site-branding .site-description, .site-branding-inner .site-title { display: none; }
@media (max-width: 640px) {
  .pbn-timetable, .pbn-timetable tbody, .pbn-timetable tr, .pbn-timetable td { display: block; width: 100%; }
  .pbn-timetable thead { display: none; }
  .pbn-timetable tr { padding: 10px 12px; border-bottom: 1px dashed #d9e5db; }
  .pbn-timetable tr:last-child { border-bottom: 0; }
  .pbn-timetable td { padding: 2px 0; border: 0; }
  .pbn-timetable td.pbn-when { font-size: 1rem; }
  .pbn-timetable td.pbn-hall { padding-bottom: 4px; }
}
@media (max-width: 480px) {
  .pbn-marquee { padding: 20px 16px 18px; } .pbn-marquee h1 { font-size: 1.35rem; }
  .pbn-recent li { grid-template-columns: 1fr; gap: 2px; }
  .pbn-cats { grid-template-columns: 1fr 1fr; }
  .site-branding a img, .site-branding img.custom-logo { width: 220px !important; }
}

/* 글 메타 — 작성자 항목 숨김(필명은 글 하단 소개 상자로), 날짜만 */
.entry-meta .posted-by, .entry-meta .meta-label, .entry-meta .author { display: none; }
