/* 바이웰 리브웰 · 화면 스타일
   index.html에서 분리했어요. 색·글꼴·배치를 여기서 고칩니다. */

:root {
    --paper: #FFFFFF;
    --card: #FFFFFF;
    --ink: #1F1C16;
    --ink-soft: #6E6655;
    --ink-faint: #9C927C;
    --line: #ECE6D8;
    --line-strong: #DED5C0;
    --green: #2E6B4D;
    --green-deep: #1F4D38;
    --green-wash: #EDF3EC;
    --honey: #9E640E;
    --honey-wash: #F7EFDB;
    --coral: #BF4A2E;
    --radius: 14px;
    --shadow: 0 1px 2px rgba(31,28,22,.04), 0 10px 28px rgba(31,28,22,.06);
  }
  * { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; font-family: "Paperlogy", system-ui, sans-serif; background: var(--paper); color: var(--ink); line-height: 1.6; -webkit-font-smoothing: antialiased; }
  .serif { font-family: 'Gowun Batang', serif; }
  a { color: inherit; text-decoration: none; }
  .wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }

  .disclosure-top { background: var(--paper); border-bottom: 1px solid var(--line); }
  .disclosure-top .inner { display: flex; align-items: center; gap: 8px; padding: 9px 20px; max-width: 1080px; margin: 0 auto; }
  .disclosure-top svg { flex: none; color: var(--green); }
  .disclosure-top p { margin: 0; font-size: 12px; color: var(--ink-soft); line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  @media (max-width: 620px) { .disclosure-top p { white-space: normal; } }
  .disclosure-top b { font-weight: 600; color: var(--ink); }

  .logo-wm { font-family: "Baloo 2", sans-serif; font-weight: 800; color: var(--ink); line-height: .9; letter-spacing: -.01em; }
  .logo-img { width: auto; display: inline-block; vertical-align: middle; }
  .brand { display: flex; flex-direction: column; gap: 3px; }
  .logo-row { display: flex; align-items: flex-end; gap: 2px; }
  .logo-row .logo-wm { font-size: 36px; }
  .logo-leaf { width: 20px; height: 20px; margin-bottom: 5px; }
  .logo-tag { font-size: 10px; letter-spacing: .16em; color: var(--ink-faint); font-weight: 500; }


  /* 섹션 제목 안의 아이콘: 글자와 항상 가운데 정렬 */
  .all-sec-head h2, .jjin-head h2, .events-head h2, .gonggu-head h2, .tag-result-head h2 {
    display: flex; align-items: center; gap: 7px;
  }
  .all-sec-head h2 > svg, .jjin-head h2 > svg, .events-head h2 > svg,
  .gonggu-head h2 > svg, .tag-result-head h2 > svg {
    flex: none; vertical-align: middle; margin: 0;
  }
  .all-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
  .all-sec-head h2 { font-family: 'Gowun Batang', serif; font-size: 23px; font-weight: 700; letter-spacing: -.01em; color: #B23A20; margin: 0; }
  .more-btn { flex: none; border: 1px solid #D8E6DD; background: #F1F7F3; font-family: inherit; font-size: 14px; font-weight: 700; color: var(--green-deep); cursor: pointer; padding: 8px 15px; border-radius: 999px; line-height: 1.2; white-space: nowrap; transition: background .15s, transform .12s; }
  .more-btn:hover { background: #E3F0E9; transform: translateY(-1px); }
  .more-btn:active { transform: translateY(0); }

  .nophoto { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 18px; text-align: center; }
  .nophoto-abbr { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 9px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: -.02em; }
  .nophoto-title { font-size: 12.5px; font-weight: 600; color: var(--ink-soft); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

  .notice-inline { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink-faint); margin: 0 0 14px; }

  .notice-list { display: flex; flex-direction: column; gap: 10px; }
  .notice-card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
  .notice-card.important { border-color: #F0D9A8; background: #FFFBF2; }
  .notice-top { display: flex; align-items: center; gap: 7px; margin-bottom: 5px; }
  .notice-badge { font-size: 11px; font-weight: 700; color: #9A6B0E; background: #FBF0CE; padding: 2px 7px; border-radius: 6px; }
  .notice-title { font-size: 14.5px; font-weight: 700; color: var(--ink); margin: 0; }
  .notice-date { font-size: 11.5px; color: var(--ink-faint); margin-left: auto; }
  .notice-body { font-size: 13px; color: var(--ink-soft); line-height: 1.6; margin: 0; white-space: pre-wrap; }

  .tagbar { display: flex; gap: 7px; margin-top: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  .tagbar::-webkit-scrollbar { display: none; }
  .tag-chip { flex: none; border: 1px solid var(--line-strong); background: var(--card); color: var(--ink-soft); font-family: inherit; font-size: 12.5px; font-weight: 500; padding: 7px 12px; border-radius: 20px; cursor: pointer; white-space: nowrap; transition: .13s; }
  .tag-chip:hover { border-color: var(--green); color: var(--green-deep); }
  .tag-chip[aria-pressed="true"] { background: var(--green); border-color: var(--green); color: #fff; font-weight: 600; }

  .opt-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; color: var(--honey); background: var(--honey-wash); padding: 3px 8px; border-radius: 7px; width: fit-content; }

  .meta-row { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; flex: 1 1 auto; }
  .btn-row { display: flex; gap: 7px; align-items: center; margin-top: auto; padding-top: 12px; }
  .btn-row .go { flex: 1; height: 42px; margin: 0 !important; padding: 0; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
  .share-btn { flex: none; height: 42px; margin: 0; display: inline-flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid var(--line-strong); background: var(--card); color: var(--green-deep); font-family: inherit; font-size: 12.5px; font-weight: 600; padding: 0 12px; border-radius: 10px; cursor: pointer; box-sizing: border-box; }
  .share-btn:hover { background: var(--green-wash); border-color: var(--green); }

  .share-overlay { position: fixed; inset: 0; background: rgba(31,28,22,.42); z-index: 80; display: none; align-items: center; justify-content: center; padding: 16px; }
  .share-overlay.open { display: flex; }
  .share-pop { background: #fff; border-radius: 16px; max-width: 380px; width: 100%; padding: 18px; box-shadow: var(--shadow); }
  .share-pop h3 { margin: 0 0 4px; font-size: 16px; color: var(--ink); }
  .share-pop .sub { margin: 0 0 13px; font-size: 12.5px; color: var(--ink-soft); }
  .share-preview { background: #FAF8F2; border: 1px solid var(--line); border-radius: 10px; padding: 11px; font-size: 12.5px; color: var(--ink-soft); white-space: pre-wrap; line-height: 1.5; max-height: 150px; overflow: auto; margin-bottom: 13px; }
  .share-actions { display: flex; flex-direction: column; gap: 8px; }
  .share-actions button { border: 0; font-family: inherit; font-size: 13.5px; font-weight: 600; padding: 11px; border-radius: 10px; cursor: pointer; }
  .sa-primary { background: var(--green); color: #fff; }
  .sa-second { background: var(--green-wash); color: var(--green-deep); }
  .sa-close { background: transparent; color: var(--ink-faint); font-weight: 500 !important; }

  header.site { border-bottom: 1px solid var(--line); background: #F4F8F2; }
  .site-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; }
  .tab-fav svg { color: #FF4757; }
  .tab-fav[aria-selected="true"] svg { color: currentColor; }
  .head-left { display: flex; align-items: center; gap: 16px; min-width: 0; }
  .head-divider { width: 1px; align-self: stretch; background: var(--line); margin: 5px 0; flex: none; }
  .head-slogan { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

  /* ── 큰 섹션 대제목만 고운바탕(명조), 나머지는 전부 페이퍼로지 ── */
  .featured-head .eyebrow,
  .gonggu-head .eyebrow { font-family: 'Gowun Batang', serif; }
  .head-h { font-family: "Gowun Batang", serif; font-weight: 700; font-size: 23px; color: var(--ink); line-height: 1.2; text-shadow: 0 0 .35px currentColor; }
  .head-sub { font-size: 12.5px; color: var(--ink-soft); line-height: 1.4; }
  @media (max-width: 780px) {
    .head-left { flex-direction: column; align-items: flex-start; gap: 8px; }
    .head-divider { display: none; }
    .head-h { font-size: 20px; }
  }
  .site-links { display: flex; align-items: center; gap: 14px; font-size: 14px; color: var(--ink-soft); }
  .site-links a { font-weight: 700; }
  .site-links a:hover { color: var(--ink); }
  .nav-sep { color: var(--line-strong); font-weight: 400; }
  @media (max-width: 620px) { .site-links { display: none; } }

  .hero { padding: 38px 0 32px; }
  .hero-prompt { font-size: 14px; color: var(--ink-soft); margin: 0 0 12px; }
  .eyebrow { font-size: 13px; letter-spacing: .14em; color: var(--green); font-weight: 600; }
  .hero h1 { font-family: "Paperlogy", sans-serif; font-weight: 700; font-size: 44px; line-height: 1.15; margin: 14px 0 12px; color: var(--ink); }
  .hero p.sub { font-size: 17px; color: var(--ink-soft); margin: 0 0 26px; max-width: 32em; }
  @media (max-width: 620px) { .hero h1 { font-size: 30px; } .hero { padding: 34px 0 22px; } }

  .search-shell { display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 6px 6px 6px 16px; box-shadow: var(--shadow); max-width: 100%; }
  .search-shell svg { flex: none; color: var(--ink-faint); }
  .search-shell input { flex: 1; border: 0; outline: 0; background: transparent; font-family: inherit; font-size: 16px; color: var(--ink); padding: 10px 0; min-width: 0; }
  .search-shell input::placeholder { color: var(--ink-faint); }
  .search-shell button { flex: none; border: 0; background: var(--green); color: #fff; font-family: inherit; font-size: 15px; font-weight: 600; padding: 11px 20px; border-radius: 10px; cursor: pointer; }
  .search-shell button:hover { background: var(--green-deep); }
  .search-shell:focus-within { border-color: var(--green); box-shadow: 0 0 0 3px var(--green-wash); }

  .controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 30px 0 10px; }
  .chips { display: flex; gap: 8px; flex-wrap: wrap; }
  .chip { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line-strong); background: var(--card); color: var(--ink-soft); font-family: inherit; font-size: 14px; padding: 8px 14px; border-radius: 999px; cursor: pointer; transition: .12s; }
  .chip:hover { border-color: var(--ink-faint); color: var(--ink); }
  .chip .dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
  .chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
  .sort { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-soft); }
  .sort select { font-family: inherit; font-size: 14px; color: var(--ink); border: 1px solid var(--line-strong); background: var(--card); border-radius: 9px; padding: 8px 10px; cursor: pointer; }

  .note { font-size: 12.5px; color: var(--ink-faint); margin: 0 0 16px; }
  .count { font-size: 14px; color: var(--ink-faint); margin: 6px 0 16px; }

  .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; align-items: stretch; }
  .deal { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; height: 100%; transition: .14s; }
  .deal:hover { border-color: var(--line-strong); box-shadow: var(--shadow); transform: translateY(-2px); }
  .thumb { aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
  .thumb .glyph { font-size: 40px; opacity: .55; }
  .thumb-img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
  .fav-tab-count { display: inline-flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; padding: 0 4px; margin-left: 3px; background: #FF4757; color: #fff; font-size: 10px; font-weight: 700; border-radius: 8px; vertical-align: middle; }
  .kw-notify { display: flex; align-items: center; gap: 11px; background: linear-gradient(135deg, #FFF4E0, #FFE8C7); border: 1px solid #F0D9A8; border-radius: 14px; padding: 13px 15px; margin: 14px 0 0; }
  .kw-notify[hidden] { display: none; }
  .kw-notify .kn-ico { font-size: 20px; flex: none; }
  .kw-notify .kn-txt { flex: 1; font-size: 13.5px; color: #6B5518; line-height: 1.45; }
  .kw-notify .kn-txt b { color: #4E3E0C; }
  .kw-notify .kn-go { flex: none; border: none; background: #E0A924; color: #fff; font-family: inherit; font-size: 12.5px; font-weight: 700; padding: 8px 13px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
  .kw-notify .kn-close { flex: none; border: none; background: transparent; color: #B49B6A; font-size: 18px; cursor: pointer; padding: 0 2px; line-height: 1; }
  .kw-alert { display: flex; align-items: center; gap: 10px; background: #FFF6E9; border: 1px solid #F1E0BE; border-radius: 12px; padding: 11px 14px; margin: 4px 0 14px; }
  .kw-alert[hidden] { display: none; }
  .kw-alert .kw-txt { flex: 1; font-size: 13px; color: #6B5518; line-height: 1.4; }
  .kw-alert .kw-txt b { color: #4E3E0C; }
  .kw-alert .kw-btn { flex: none; border: none; background: #E0A924; color: #fff; font-family: inherit; font-size: 12.5px; font-weight: 700; padding: 8px 13px; border-radius: 999px; cursor: pointer; white-space: nowrap; transition: filter .12s, transform .12s; display: inline-flex; align-items: center; gap: 4px; }
  .kw-alert .kw-btn:hover { filter: brightness(1.05); transform: translateY(-1px); }
  .kw-alert .kw-btn.on { background: #fff; color: #B4832A; border: 1px solid #E0A924; }
  .tip-row { display: flex; gap: 13px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px; text-decoration: none; color: inherit; transition: box-shadow .14s, transform .12s; }
  .tip-row:hover { box-shadow: 0 5px 16px rgba(0,0,0,.07); transform: translateY(-1px); }
  .tip-row.soon { opacity: .6; pointer-events: none; }
  .tip-thumb { flex: none; width: 76px; height: 76px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 34px; }
  .tip-body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
  .tip-cat { font-size: 11px; font-weight: 700; color: var(--green); margin-bottom: 3px; }
  .tip-cat.soon { color: var(--ink-faint); }
  .tip-title { font-weight: 700; font-size: 15px; line-height: 1.35; margin: 0 0 4px; color: var(--ink); }
  .tip-desc { font-size: 12.5px; color: var(--ink-soft); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .fav-tab-count[hidden] { display: none; }
  .badge-col { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
  .disc, .grade { min-width: 62px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 0 8px; border-radius: 8px; font-weight: 700; font-size: 12.5px; line-height: 1; letter-spacing: -0.03em; border: 1px solid rgba(0,0,0,.06); }
  .disc { background: var(--coral); color: #fff; border-color: rgba(0,0,0,.10); }
  .grade { }
  .grade.hot { background: #FBE3DC; color: #B23A20; border-color: rgba(178,58,32,.18); }
  .grade.good { background: #E4F1D8; color: #2E6B4D; border-color: rgba(46,107,77,.18); }
  .grade.gold { background: #FBF0CE; color: #9A6B0E; border-color: rgba(154,107,14,.20); }
  .fav-btn { position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; border: none; border-radius: 50%; background: rgba(255,255,255,.9); backdrop-filter: blur(2px); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 3; box-shadow: 0 2px 6px rgba(0,0,0,.12); transition: transform .12s; padding: 0; }
  .fav-btn:hover { transform: scale(1.08); }
  .fav-btn:active { transform: scale(.92); }
  .fav-btn svg { width: 19px; height: 19px; }
  .fav-btn .heart { fill: none; stroke: #9C927F; stroke-width: 2; transition: fill .15s, stroke .15s; }
  .fav-btn[aria-pressed="true"] .heart { fill: #FF4757; stroke: #FF4757; animation: favpop .3s; }
  @keyframes favpop { 0%{transform:scale(1)} 40%{transform:scale(1.35)} 100%{transform:scale(1)} }
  .grade-inline { font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 6px; width: fit-content; }
  .grade-inline.hot { background: #FBE3DC; color: #B23A20; }
  .grade-inline.good { background: #E4F1D8; color: #2E6B4D; }
  .grade-inline.gold { background: #FBF0CE; color: #9A6B0E; }
  .timer { position: absolute; bottom: 10px; right: 10px; background: rgba(31,28,22,.78); color: #fff; font-size: 12px; padding: 3px 8px; border-radius: 7px; font-variant-numeric: tabular-nums; }

  /* 사진·제목을 눌러도 상품으로 이동 */
  .thumb.clickable, .title.clickable { cursor: pointer; }
  .thumb.clickable { transition: filter .15s; }
  .deal:hover .thumb.clickable { filter: brightness(.97); }
  .title.clickable:hover { text-decoration: underline; text-underline-offset: 2px; }
  .deal-body { padding: 14px 15px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; min-height: 0; }
  .mall { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-soft); }
  .mall .dot { width: 7px; height: 7px; border-radius: 50%; }
  .title { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.4; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
  .prices { display: flex; align-items: baseline; gap: 8px; }
  .now { font-size: 19px; font-weight: 700; color: var(--ink); }
  .was { font-size: 13px; color: var(--ink-faint); text-decoration: line-through; }
  .save-row { display: flex; align-items: center; gap: 6px; width: 100%; }
  .save { display: inline-flex; align-items: center; height: 23px; box-sizing: border-box; font-size: 12px; color: var(--honey); background: var(--honey-wash); padding: 0 8px; border-radius: 7px; font-weight: 600; letter-spacing: -0.02em; white-space: nowrap; }
  .disc-inline { display: inline-flex; align-items: center; gap: 3px; height: 23px; box-sizing: border-box; margin-left: auto; font-size: 12px; color: #B23A20; background: #FBE3DC; padding: 0 8px; border-radius: 7px; font-weight: 600; letter-spacing: -0.02em; white-space: nowrap; }
  .di-arrow { width: 11px; height: 11px; flex: none; }
  .card-info { display: flex; align-items: flex-start; gap: 5px; font-size: 12px; color: #3A5BC7; background: #EDF1FC; border: 1px solid #DCE4F7; padding: 5px 9px; border-radius: 8px; width: fit-content; line-height: 1.4; }
  .card-info span { font-weight: 600; }
  .spark { margin-top: auto; padding-top: 4px; }
  .spark-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
  .spark-label { font-size: 11px; color: var(--ink-faint); }
  .low-badge { font-size: 11px; font-weight: 600; color: var(--green); background: var(--green-wash); padding: 2px 7px; border-radius: 6px; }
  .spark svg { display: block; width: 100%; height: 34px; }
  .go { border: 1px solid var(--line-strong); background: var(--card); color: var(--green-deep); font-family: inherit; font-size: 14px; font-weight: 600; padding: 10px; border-radius: 10px; cursor: pointer; text-align: center; }
  .go:hover { background: var(--green-wash); border-color: var(--green); }

  .empty { text-align: center; padding: 64px 20px; color: var(--ink-soft); }
  .empty .big { font-size: 17px; color: var(--ink); margin-bottom: 6px; }

  .about { margin-top: 20px; }
  .about-box { background: var(--green-wash); border: 1px solid #DCE7D6; border-radius: var(--radius); padding: 16px 20px; }
  .about-box .h { font-size: 17px; margin: 0 0 6px; color: var(--green-deep); }
  .about-box p { margin: 0; color: var(--ink-soft); font-size: 15px; max-width: 46em; }

  footer.site { margin-top: 56px; border-top: 1px solid var(--line); background: var(--paper); }
  .foot-row { padding: 30px 20px 40px; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
  .foot-brand .logo-row .logo-wm { font-size: 21px; }
  .foot-brand .logo-leaf { width: 12px; height: 12px; margin-bottom: 3px; }
  .foot-brand p { font-size: 13px; color: var(--ink-soft); margin: 7px 0 0; max-width: 26em; }
  .foot-copy { font-size: 11.5px !important; color: var(--ink-faint) !important; line-height: 1.7; margin-top: 6px !important; max-width: none !important; white-space: nowrap; }
  @media (max-width: 480px) { .foot-copy { white-space: normal; } }
  .disclosure-foot { font-size: 12px; color: var(--ink-faint); max-width: 25em; line-height: 1.7; margin: 0; }
  .disclosure-foot strong { color: var(--ink-soft); font-weight: 600; display: inline-block; margin-bottom: 6px; }

  .events { margin-top: 46px; }
  .events-head h2 { font-family: 'Gowun Batang', serif; font-weight: 700; font-size: 24px; letter-spacing: -.01em; margin: 0 0 4px; color: var(--ink); }
  .events-head p { margin: 0 0 18px; font-size: 13px; color: var(--ink-soft); }

  /* 실시간 쿠폰 */
  .cp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 11px; }
  .cp-card { display: flex; flex-direction: column; gap: 8px; background: var(--card); border: 1px solid var(--line);
    border-radius: 16px; padding: 15px 16px; text-decoration: none; transition: transform .12s, box-shadow .12s; }
  .cp-card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.07); }
  .cp-top { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
  .cp-state { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700;
    padding: 3px 9px; border-radius: 999px; white-space: nowrap; border: 1px solid transparent; }
  .cp-state.open { background: #E4F4EA; color: #2E6B4D; border-color: #A9D8BC; }
  .cp-state.soon { background: #FDF1DC; color: #99691A; border-color: #EBCC93; }
  .cp-state.upcoming { background: #EEF1F4; color: #5F6B75; border-color: #D3DAE1; }
  .cp-time { font-size: 11.5px; color: var(--ink-faint); font-weight: 600; }
  .cp-name { font-size: 14.5px; font-weight: 700; color: var(--ink); line-height: 1.45; }
  .cp-info { font-size: 12.5px; color: var(--ink-soft); line-height: 1.5; }
  .cp-go { margin-top: 2px; font-size: 12.5px; font-weight: 700; color: var(--green-deep); }
  .ev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
  .ev-card { display: flex; gap: 13px; align-items: stretch; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 13px; }
  .ev-thumb { flex: none; width: 66px; height: 66px; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--green-wash); color: var(--ink-soft); font-size: 10.5px; font-weight: 600; text-align: center; line-height: 1.25; padding: 4px; }
  .ev-thumb img { width: 100%; height: 100%; object-fit: cover; }
  .ev-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
  .ev-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .ev-mall { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-soft); }
  .ev-dday { font-size: 12px; font-weight: 600; color: var(--ink-soft); }
  .ev-dday.urgent { color: var(--coral); }
  .ev-name { font-size: 14.5px; font-weight: 600; color: var(--ink); margin: 1px 0; line-height: 1.35; }
  .ev-period { font-size: 12px; color: var(--ink-faint); }
  .ev-btn { margin-top: auto; align-self: flex-start; border: 1px solid var(--line-strong); background: var(--card); color: var(--green-deep); font-family: inherit; font-size: 12.5px; font-weight: 600; padding: 6px 12px; border-radius: 8px; text-decoration: none; }
  .ev-btn:hover { background: var(--green-wash); border-color: var(--green); }

  .gonggu-band { margin-top: 0; background: transparent; border: 0; }
  .gonggu-inner { padding: 22px 20px 12px; }
  .section-divider { border: 0; border-top: 1px solid #CFE0C7; margin: 34px 0; }
  .gonggu-head .eyebrow { color: var(--green); }
  .gonggu-head h2 { font-family: 'Gowun Batang', serif; font-weight: 700; font-size: 27px; letter-spacing: -.01em; margin: 10px 0 6px; color: var(--ink); }
  .gonggu-head p { margin: 0; color: var(--ink-soft); font-size: 15px; }
  .gg-note { font-size: 12.5px; color: var(--ink-faint); margin: 6px 0 22px; }
  .gg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; align-items: stretch; }
  .gg-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; display: flex; flex-direction: column; gap: 15px; max-width: 360px; width: 100%; }
  .gg-detail { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
  .gg-detail li { position: relative; padding-left: 22px; font-size: 13px; color: var(--ink-soft); line-height: 1.5; }
  .gg-detail li::before { content: ""; position: absolute; left: 0; top: 2px; width: 15px; height: 15px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E6B4D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>"); background-size: contain; background-repeat: no-repeat; }
  .gg-detail.clamped { max-height: 92px; overflow: hidden; }
  .gg-more { align-self: flex-start; border: 0; background: none; color: var(--green-deep); font-family: inherit; font-size: 12.5px; font-weight: 600; padding: 2px 0; cursor: pointer; display: inline-flex; align-items: center; gap: 3px; }
  .gg-more svg { transition: transform .18s; }
  .gg-more[aria-expanded="true"] svg { transform: rotate(180deg); }
  .gg-spacer { flex: 1; }
  .gg-top { display: flex; align-items: center; justify-content: space-between; }
  .gg-tag { font-size: 11.5px; font-weight: 600; color: #fff; background: var(--green); padding: 3px 9px; border-radius: 6px; }
  .gg-dday { font-size: 12.5px; font-weight: 600; color: var(--ink-soft); display: inline-flex; align-items: center; gap: 4px; }
  .gg-dday.urgent { color: var(--coral); }
  .gg-title { font-size: 16px; font-weight: 600; color: var(--ink); margin: 0; line-height: 1.4; }
  .gg-price { display: flex; align-items: baseline; gap: 8px; }
  .gg-now { font-size: 20px; font-weight: 700; color: var(--ink); }
  .gg-was { font-size: 13px; color: var(--ink-faint); text-decoration: line-through; }
  .gg-bar { height: 7px; background: #E9E2D2; border-radius: 99px; overflow: hidden; }
  .gg-bar span { display: block; height: 100%; background: var(--green); border-radius: 99px; }
  .gg-bar-label { font-size: 12px; color: var(--ink-soft); }
  .gg-btn { margin-top: 2px; border: 0; background: var(--green); color: #fff; font-family: inherit; font-size: 14px; font-weight: 600; padding: 11px; border-radius: 10px; cursor: pointer; text-align: center; }
  .gg-btn:hover { background: var(--green-deep); }

  .tag-result { margin: 10px 0 4px; padding: 14px 16px; background: var(--card, #fff); border: 1px solid var(--line-strong); border-left: 4px solid var(--green); border-radius: 12px; }
  .tag-result[hidden] { display: none; }
  .tag-result-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .tag-result-head h2 { font-family: 'Gowun Batang', serif; font-weight: 700; font-size: 21px; letter-spacing: -.01em; color: var(--green-deep); margin: 0; letter-spacing: -.01em; }
  .tag-result-sub { font-size: 12.5px; color: var(--ink-faint); margin: 4px 0 0; }
  .tag-clear { display: inline-flex; align-items: center; gap: 4px; flex: none; border: 1px solid var(--line-strong); background: transparent; color: var(--ink-soft); font-family: inherit; font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: 18px; cursor: pointer; transition: .13s; }
  .tag-clear:hover { border-color: var(--green); color: var(--green-deep); }
  .featured-wrap { margin: 6px 0 6px; }
  .featured-wrap[hidden] { display: none; }
  .pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 22px 0 8px; }
  .pager:empty { display: none; }
  .pager button { min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid var(--line-strong); background: var(--card, #fff); color: var(--ink-soft); font-family: inherit; font-size: 13.5px; font-weight: 600; border-radius: 9px; cursor: pointer; transition: .13s; }
  .pager button:hover:not(:disabled) { border-color: var(--green); color: var(--green-deep); }
  .pager button[aria-current="page"] { background: var(--green); border-color: var(--green); color: #fff; }
  .pager button:disabled { opacity: .4; cursor: default; }
  .pager .pager-ellipsis { color: var(--ink-faint); padding: 0 2px; font-size: 13px; }
  .featured-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
  .featured-head .eyebrow { font-size: 18px; letter-spacing: .02em; color: var(--green); font-weight: 700; }
  .featured-sub { font-size: 13px; color: var(--ink-faint); }
  .featured-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
  @media (max-width: 960px) { .featured-row { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 620px) { .featured-row { grid-template-columns: repeat(2, 1fr); } }
  .feat-card { position: relative; display: flex; gap: 10px; align-items: center; background: var(--card); border: 1px solid var(--line-strong); border-radius: var(--radius); padding: 12px 12px 12px 15px; overflow: hidden; transition: .14s; }
  .feat-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
  .feat-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--coral); }
  .feat-thumb { flex: none; width: 56px; height: 56px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 26px; overflow: hidden; }
  .feat-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .feat-mall { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--ink-soft); }
  .feat-mall .dot { width: 6px; height: 6px; border-radius: 50%; }
  .feat-disc { font-size: 13px; font-weight: 700; color: var(--coral); }
  .feat-title { font-size: 14px; font-weight: 600; color: var(--ink); margin: 1px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .feat-price { font-size: 17px; font-weight: 700; color: var(--ink); }
  .feat-was { font-size: 12px; color: var(--ink-faint); text-decoration: line-through; margin-left: 6px; }

  .jjin { display: none; background: transparent; border: 0; }
  .jjin.show { display: block; }
  .jjin-inner { padding: 22px 20px 10px; }
  .jjin-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
  .jjin-head h2 { font-family: 'Gowun Batang', serif; font-size: 24px; font-weight: 700; letter-spacing: -.01em; color: #B23A20; margin: 0; }
  .jjin-sub { font-size: 13px; color: var(--ink-soft); }

  .ptr { position: fixed; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: center; height: 0; overflow: hidden; z-index: 55; pointer-events: none; }
  .ptr .spin { width: 22px; height: 22px; border: 2.5px solid var(--line-strong); border-top-color: var(--green); border-radius: 50%; }
  .ptr.spinning .spin { animation: ptr-rot 0.7s linear infinite; }
  @keyframes ptr-rot { to { transform: rotate(360deg); } }

  .tabs { position: sticky; top: 0; z-index: 40; background: var(--paper); border-bottom: 1px solid var(--line); display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 12px 20px; max-width: 1080px; margin: 0 auto; }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { flex: none; border: 1px solid var(--line-strong); background: var(--card); font-family: "Paperlogy", sans-serif; font-size: 14.5px; font-weight: 700; color: var(--ink-soft); padding: 9px 15px; cursor: pointer; border-radius: 11px; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; transition: .14s; }
  .tab:hover { border-color: var(--ink-faint); color: var(--ink); }
  .tab .tico { width: 15px; height: 15px; flex: none; }
  .tab[aria-selected="true"] { background: var(--green); border-color: var(--green); color: #fff; box-shadow: 0 2px 8px rgba(46,107,77,.25); }
  .tab-panel { display: none; }
  .tab-panel.active { display: block; }

  .install-bar { position: fixed; left: 12px; right: 12px; bottom: 88px; background: #fff; border: 1px solid var(--line-strong); border-radius: 14px; box-shadow: var(--shadow); padding: 11px 12px; display: none; align-items: center; gap: 11px; z-index: 70; }
  .install-bar.show { display: flex; }
  .install-bar img { width: 38px; height: 38px; border-radius: 9px; flex: none; }
  .install-bar .it { flex: 1; min-width: 0; }
  .install-bar .it b { font-size: 13.5px; color: var(--ink); display: block; }
  .install-bar .it span { font-size: 11.5px; color: var(--ink-soft); }
  .install-bar .add { flex: none; border: 0; background: var(--green); color: #fff; font-family: inherit; font-weight: 600; font-size: 12.5px; padding: 8px 12px; border-radius: 9px; cursor: pointer; }
  .install-bar .x { flex: none; background: transparent; border: 0; color: var(--ink-faint); font-size: 18px; cursor: pointer; line-height: 1; }

  .chat-fab { position: fixed; right: 20px; bottom: 20px; width: 56px; height: 56px; border-radius: 50%; background: var(--green); color: #fff; border: 0; cursor: pointer; box-shadow: 0 6px 20px rgba(31,28,22,.25); display: flex; align-items: center; justify-content: center; z-index: 60; transition: .15s; }
  .chat-fab:hover { background: var(--green-deep); transform: translateY(-2px); }
  .chat-fab svg { width: 26px; height: 26px; }
  .chat-panel { position: fixed; right: 20px; bottom: 88px; width: 340px; max-width: calc(100vw - 32px); height: 460px; max-height: calc(100vh - 120px); background: #fff; border: 1px solid var(--line-strong); border-radius: 16px; box-shadow: var(--shadow); display: none; flex-direction: column; overflow: hidden; z-index: 61; }
  .chat-panel.open { display: flex; }
  .chat-head { background: var(--green); color: #fff; padding: 13px 16px; display: flex; align-items: center; justify-content: space-between; }
  .chat-head .t { font-weight: 700; font-size: 15px; }
  .chat-head .s { font-size: 11.5px; opacity: .85; margin-top: 2px; }
  .chat-close { background: transparent; border: 0; color: #fff; font-size: 22px; cursor: pointer; line-height: 1; padding: 0 2px; }
  .chat-body { flex: 1; overflow-y: auto; padding: 14px; background: #FAF8F2; display: flex; flex-direction: column; gap: 10px; }
  .msg { max-width: 88%; padding: 9px 12px; border-radius: 12px; font-size: 13.5px; line-height: 1.55; }
  .msg.bot { background: #fff; border: 1px solid var(--line); align-self: flex-start; border-bottom-left-radius: 4px; }
  .msg.user { background: var(--green); color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
  .chat-result { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 8px; margin-top: 7px; }
  .chat-result img { width: 44px; height: 44px; object-fit: contain; border-radius: 8px; flex: none; background: #fff; }
  .chat-result .ri { flex: 1; min-width: 0; }
  .chat-result .rn { font-size: 12.5px; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .chat-result .rp { font-size: 13px; font-weight: 700; color: var(--coral); }
  .chat-result a { flex: none; font-size: 11.5px; font-weight: 600; color: #fff; background: var(--green); padding: 6px 10px; border-radius: 8px; text-decoration: none; }
  .chat-cta { display: inline-block; margin-top: 9px; font-size: 12.5px; font-weight: 600; color: #3d2b00; background: #FAB81B; padding: 8px 14px; border-radius: 9px; text-decoration: none; }
  .chat-foot { border-top: 1px solid var(--line); padding: 10px; display: flex; gap: 8px; background: #fff; }
  .chat-foot input { flex: 1; border: 1px solid var(--line-strong); border-radius: 10px; padding: 9px 12px; font-family: inherit; font-size: 13.5px; outline: none; min-width: 0; }
  .chat-foot input:focus { border-color: var(--green); }
  .chat-foot button { flex: none; border: 0; background: var(--green); color: #fff; font-family: inherit; font-weight: 600; font-size: 13.5px; padding: 0 14px; border-radius: 10px; cursor: pointer; }

  :focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* 가격 안내 (딜 목록 위 짧은 문구) */
.price-note {
  margin: -2px 0 12px;
  font-size: 12px;
  color: var(--ink-faint);
  line-height: 1.5;
  letter-spacing: -.01em;
}

/* ═══ 기저귀 사이즈 메모 ═══ */
.memo-chip{display:flex;align-items:center;gap:5px;width:100%;margin-top:8px;
  font-family:inherit;font-size:11.5px;font-weight:700;color:var(--green-deep);
  background:var(--green-wash,#EDF4EF);border:1px solid #CFE2D7;border-radius:9px;
  padding:7px 9px;cursor:pointer;transition:background .15s,transform .1s;text-align:left}
.memo-chip:hover{background:#E2EFE7}
.memo-chip:active{transform:scale(.97)}
.memo-chip .mc-ar{margin-left:auto;font-weight:800}
.memo-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;
  transition:opacity .22s;z-index:960}
.memo-bg.on{opacity:1;pointer-events:auto}
.memo-sheet{position:fixed;left:0;right:0;bottom:0;z-index:970;background:#fff;
  border-radius:24px 24px 0 0;max-height:90vh;overflow-y:auto;max-width:600px;margin:0 auto;
  transform:translateY(102%);transition:transform .28s cubic-bezier(.3,.9,.3,1);
  padding:8px 20px calc(28px + env(safe-area-inset-bottom))}
.memo-sheet.on{transform:translateY(0)}
.memo-handle{cursor:pointer;width:40px;height:4px;border-radius:99px;background:#DDD6C9;margin:8px auto 16px}
.memo-sheet h3{margin:0 0 3px;font-weight:800;font-size:19px;display:flex;align-items:center;gap:8px}
.memo-sub{margin:0 0 18px;font-size:12.5px;color:var(--ink-faint)}
.memo-qtitle{font-size:13.5px;font-weight:700;margin:16px 0 9px}
.memo-bar{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.memo-bar .nm{width:64px;flex:none;font-size:12.5px;color:var(--ink-soft);font-weight:600}
.memo-bar .track{flex:1;height:18px;background:#F2EEE7;border-radius:6px;overflow:hidden}
.memo-bar .fill{height:100%;background:linear-gradient(90deg,#8FBFA4,#2E6B4D);border-radius:6px;transition:width .4s}
.memo-bar .fill.mute{background:#D9D2C6}
.memo-bar .n{width:30px;flex:none;text-align:right;font-size:12px;font-weight:700;color:var(--ink-faint)}
.memo-divider{border-top:1px solid var(--line);margin:22px 0 18px}
.memo-row{margin-bottom:14px}
.memo-row>label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.memo-sel{position:relative}
.memo-sel select{-webkit-appearance:none;appearance:none;width:100%;font-family:inherit;font-size:15px;
  font-weight:600;color:var(--ink);background:#FAF8F4;border:1px solid #DDD6C9;border-radius:12px;
  padding:11px 38px 11px 13px;cursor:pointer}
.memo-sel select:focus{outline:none;border-color:var(--green)}
.memo-sel::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;
  border-right:2px solid var(--ink-faint);border-bottom:2px solid var(--ink-faint);
  transform:translateY(-70%) rotate(45deg);pointer-events:none}
.memo-weight{position:relative;max-width:150px}
.memo-weight input{width:100%;font-family:inherit;font-size:16px;font-weight:700;background:#FAF8F4;
  border:1px solid #DDD6C9;border-radius:12px;padding:11px 44px 11px 13px}
.memo-weight input:focus{outline:none;border-color:var(--green)}
.memo-weight input::-webkit-outer-spin-button,.memo-weight input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.memo-weight .unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13.5px;font-weight:700;color:var(--ink-faint)}
.memo-chips{display:flex;gap:6px}
.memo-chips input{position:absolute;opacity:0;width:0;height:0}
.memo-chips label{flex:1;text-align:center;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft);
  background:#FAF8F4;border:1px solid #DDD6C9;border-radius:11px;padding:10px 4px;transition:all .15s;user-select:none}
.memo-chips label:active{transform:scale(.96)}
.memo-chips input:checked+label{background:var(--green-wash,#EDF4EF);border-color:var(--green);
  color:var(--green-deep);box-shadow:inset 0 0 0 1px var(--green)}
.memo-submit{width:100%;margin-top:18px;font-family:inherit;font-size:16px;font-weight:800;color:#fff;
  background:var(--green);border:0;border-radius:13px;padding:14px;cursor:pointer;transition:background .15s}
.memo-submit:active{transform:scale(.985)}
.memo-submit:disabled{opacity:.85}
.memo-foot{margin:10px 0 0;font-size:11.5px;color:var(--ink-faint);text-align:center}
