/* ===== yonggu-elegant : 매거진 스타일 (2026-10-08) ===== */

/* 색과 글꼴 */
.ye-page { --bg:#f7f4ee; --surface:#fffdf9; --ink:#1f1b16; --muted:#7a7065; --line:#e6dfd3;
  --accent:#a0522d; --accent-soft:#f3e6da; --serif:'Noto Serif KR','Nanum Myeongjo',serif;
  background:var(--bg) !important; color:var(--ink); }
.dark .ye-page { --bg:#14120f; --surface:#1c1915; --ink:#f1ece4; --muted:#a39a8d; --line:#352f27;
  --accent:#e2a676; --accent-soft:#2a2219; }

/* 상단 메뉴: 홈 + 게시판만 */
[data-testid="nav-popular"], [data-testid="nav-shop"] { display:none !important; }

/* 헤더 */
.ye-page header, .ye-topbar { background:var(--surface) !important; border-bottom:1px solid var(--line) !important; }
.ye-brand { display:block; max-width:58vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:var(--serif); font-weight:700; font-size:1.15rem; letter-spacing:-.01em; color:var(--ink); }
.ye-page footer { background:transparent !important; border-color:var(--line) !important; }

/* 전체 */
.ye-wrap { max-width:1080px; margin:0 auto; display:flex; flex-direction:column; gap:2.25rem; padding-bottom:2rem; }
@media (min-width:768px) { .ye-wrap { gap:3.5rem; padding-bottom:3rem; } }

/* 마스트헤드 */
.ye-mast { text-align:center; padding:1.75rem 0 1.4rem; border-bottom:3px double var(--line); }
.ye-mast-kicker { display:inline-block; font-size:.7rem; letter-spacing:.35em; font-weight:700; color:var(--accent); }
.ye-mast-title { margin-top:.5rem; font-family:var(--serif); font-weight:900; font-size:2rem; line-height:1.2;
  letter-spacing:-.02em; color:var(--ink); }
.ye-mast-sub { margin:.6rem auto 0; max-width:34rem; font-size:.92rem; line-height:1.7; color:var(--muted); }
@media (min-width:768px) { .ye-mast { padding:3rem 0 2.2rem; } .ye-mast-title { font-size:3rem; } .ye-mast-sub { font-size:1.02rem; } }

/* 대표 이야기 */
.ye-feature { position:relative; display:block; width:100%; border:0; padding:0; border-radius:1.25rem; overflow:hidden;
  cursor:pointer; text-align:left; background:#2a241d; aspect-ratio:4/5; }
@media (min-width:640px) { .ye-feature { aspect-ratio:16/9; } }
@media (min-width:1024px) { .ye-feature { aspect-ratio:21/9; } }
.ye-feature-img { position:absolute; inset:0; }
.ye-feature-img img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; }
.ye-feature:hover .ye-feature-img img { transform:scale(1.04); }
.ye-feature-shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.75) 100%); }
.ye-feature-text { position:absolute; left:0; right:0; bottom:0; padding:1.4rem; color:#fff; }
@media (min-width:768px) { .ye-feature-text { padding:2.5rem 2.75rem; max-width:46rem; } }
.ye-badge { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.06em; padding:.3rem .75rem; border-radius:999px;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(6px); }
.ye-feature-title { margin-top:.7rem; font-family:var(--serif); font-weight:700; font-size:1.45rem; line-height:1.35;
  text-shadow:0 1px 12px rgba(0,0,0,.35); }
@media (min-width:768px) { .ye-feature-title { font-size:2.1rem; } }
.ye-feature-excerpt { margin-top:.5rem; font-size:.9rem; line-height:1.6; opacity:.88;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ye-feature-date { display:block; margin-top:.7rem; font-size:.75rem; opacity:.75; }
.ye-noimg { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--muted); background:var(--accent-soft); }

/* 섹션 제목 */
.ye-sec-head { display:flex; align-items:flex-end; gap:1rem; margin-bottom:1.25rem; }
.ye-sec-titles { display:flex; flex-direction:column; flex-shrink:0; }
.ye-kicker { font-size:.66rem; letter-spacing:.28em; font-weight:700; color:var(--accent); }
.ye-sec-title { margin-top:.15rem; font-family:var(--serif); font-weight:700; font-size:1.35rem; line-height:1.3; color:var(--ink); }
@media (min-width:768px) { .ye-sec-title { font-size:1.6rem; } }
.ye-sec-rule { flex:1; height:1px; margin-bottom:.55rem; background:var(--line); }
.ye-more { flex-shrink:0; border:0; background:none; padding:0 0 .3rem; font-size:.8rem; font-weight:600; color:var(--muted);
  cursor:pointer; transition:color .2s; }
.ye-more:hover { color:var(--accent); }

/* 나에인생 | 공지사항 */
.ye-two { display:grid; grid-template-columns:minmax(0,1fr); gap:2.25rem; }
@media (min-width:768px) { .ye-two { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:3rem; } }

.ye-num-item { display:flex; align-items:flex-start; gap:1rem; width:100%; border:0; border-bottom:1px solid var(--line);
  background:none; padding:.85rem 0; text-align:left; cursor:pointer; }
.ye-num-row:first-child .ye-num-item { padding-top:.2rem; }
.ye-num { min-width:2rem; font-family:var(--serif); font-weight:700; font-size:1.35rem; line-height:1.2; color:var(--accent); opacity:.85; }
.ye-num-body { display:flex; flex-direction:column; flex:1; min-width:0; }
.ye-num-title { font-size:1rem; font-weight:600; line-height:1.45; color:var(--ink); transition:color .2s;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ye-num-item:hover .ye-num-title { color:var(--accent); }
.ye-num-date { margin-top:.2rem; font-size:.75rem; color:var(--muted); }

.ye-notice { background:var(--surface); border:1px solid var(--line); border-radius:1rem; padding:.3rem 1rem; }
.ye-notice-item { display:flex; align-items:center; gap:.65rem; width:100%; border:0; background:none; padding:.8rem 0;
  text-align:left; cursor:pointer; }
.ye-notice-row + .ye-notice-row .ye-notice-item { border-top:1px dashed var(--line); }
.ye-notice-tag { flex-shrink:0; font-size:.65rem; font-weight:700; color:var(--accent); background:var(--accent-soft);
  padding:.2rem .45rem; border-radius:.3rem; }
.ye-notice-title { flex:1; min-width:0; font-size:.93rem; font-weight:500; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ye-notice-item:hover .ye-notice-title { color:var(--accent); }
.ye-notice-date { flex-shrink:0; font-size:.72rem; color:var(--muted); }

/* 추억여행 카드 : 휴대폰은 사진+제목 가로 목록, PC는 3열 */
.ye-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:1.1rem; }
@media (min-width:640px) { .ye-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; } }
.ye-card { display:flex; align-items:center; gap:.9rem; width:100%; border:0; padding:0; background:none; text-align:left; cursor:pointer; }
@media (min-width:640px) { .ye-card { flex-direction:column; align-items:stretch; gap:0; } }
.ye-card-img { flex-shrink:0; width:7.5rem; aspect-ratio:1/1; border-radius:.85rem; overflow:hidden; background:var(--accent-soft); }
@media (min-width:640px) { .ye-card-img { width:100%; aspect-ratio:4/3; } }
.ye-card-img img, .ye-media-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.ye-card:hover .ye-card-img img, .ye-media:hover .ye-media-img img { transform:scale(1.05); }
.ye-card-body { min-width:0; }
@media (min-width:640px) { .ye-card-body { padding-top:.85rem; } }
.ye-card-title { font-family:var(--serif); font-weight:700; font-size:1.02rem; line-height:1.45; color:var(--ink); transition:color .2s;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ye-card:hover .ye-card-title { color:var(--accent); }
.ye-card-date { display:block; margin-top:.35rem; font-size:.75rem; color:var(--muted); }

/* 아름답게 사는방법 : 사진 + 제목 + 요약 */
.ye-media-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
@media (min-width:768px) { .ye-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; } }
.ye-media { display:flex; align-items:stretch; gap:1rem; width:100%; padding:.75rem; text-align:left; cursor:pointer;
  background:var(--surface); border:1px solid var(--line); border-radius:1rem; transition:box-shadow .25s, transform .25s; }
.ye-media:hover { transform:translateY(-2px); box-shadow:0 12px 28px -14px rgba(60,40,20,.35); }
.dark .ye-media:hover { box-shadow:0 12px 28px -14px rgba(0,0,0,.6); }
.ye-media-img { flex-shrink:0; width:6.5rem; aspect-ratio:1/1; border-radius:.7rem; overflow:hidden; background:var(--accent-soft); }
@media (min-width:768px) { .ye-media-img { width:8.5rem; } }
.ye-media-body { display:flex; flex-direction:column; justify-content:center; min-width:0; }
.ye-media-title { font-family:var(--serif); font-weight:700; font-size:1rem; line-height:1.45; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ye-media:hover .ye-media-title { color:var(--accent); }
.ye-media-excerpt { margin-top:.3rem; font-size:.8rem; line-height:1.55; color:var(--muted);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ye-media-date { margin-top:.4rem; font-size:.72rem; color:var(--muted); }

.ye-empty { padding:1.25rem 0; text-align:center; font-family:var(--serif); font-size:.9rem; color:var(--muted); }
