/* ============================================================
   themes.css — 4가지 무드 (data-theme 로 전환)
   ============================================================ */

/* =========== A. 클래식 · 우아 =========== */
[data-theme="classic"] {
  --page-bg:#e7e0d3; --bg:#fbf8f2; --surface:#f4eee2;
  --text:#4a4236; --text-soft:#93876f; --heading:#3a3128;
  --accent:#b0966b; --line:#e7dcc7;
  --font-head:'Pretendard', sans-serif;
  --font-en:'Cormorant Garamond', serif;
  --font-body:'Pretendard', sans-serif;
  --head-weight:600; --cover-name-weight:600;
  --cover-overlay:linear-gradient(180deg,rgba(40,32,22,.05),rgba(40,32,22,.35));
  --cover-text:#fff; --photo-filter:saturate(1.02); --img-radius:3px;
}

/* =========== B. 로맨틱 · 플로럴 =========== */
[data-theme="romantic"] {
  --page-bg:#f2e0e2; --bg:#fffafa; --surface:#fdf0ef;
  --text:#6b5257; --text-soft:#b58f95; --heading:#a55c67;
  --accent:#d98b95; --line:#f4dde0;
  --font-head:'Pretendard', sans-serif;
  --font-en:'Cormorant Garamond', serif;
  --font-body:'Pretendard', sans-serif;
  --head-weight:600; --cover-name-weight:600;
  --cover-overlay:linear-gradient(180deg,rgba(150,90,100,.05),rgba(150,80,95,.32));
  --cover-text:#fff; --photo-filter:sepia(.08) saturate(1.12); --img-radius:14px;
}

/* =========== C. 모던 · 미니멀 =========== */
[data-theme="modern"] {
  --page-bg:#dcdcd8; --bg:#ffffff; --surface:#f5f5f3;
  --text:#333; --text-soft:#8c8c8c; --heading:#101010;
  --accent:#1c1c1c; --line:#e7e7e4;
  --font-head:'Pretendard', sans-serif;
  --font-en:'Montserrat', sans-serif;
  --font-body:'Pretendard', sans-serif;
  --head-weight:600; --cover-name-weight:600;
  --cover-overlay:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.6) 100%);
  --cover-text:#fff; --photo-filter:grayscale(1) contrast(1.04); --img-radius:0px;
}

/* =========== D. 감성 · 무드 (다크) =========== */
[data-theme="moody"] {
  --page-bg:#0e0d0b; --bg:#171410; --surface:#211d17;
  --text:#cec5b4; --text-soft:#8d846f; --heading:#ece2cf;
  --accent:#bfa77c; --line:#322c22;
  --font-head:'Cormorant Garamond','Noto Serif KR', serif;
  --font-en:'Cormorant Garamond', serif;
  --font-body:'Pretendard', sans-serif;
  --head-weight:600; --cover-name-weight:500;
  --cover-overlay:linear-gradient(180deg,rgba(8,6,4,.25),rgba(8,6,4,.62));
  --cover-text:#f0e7d6; --cover-filter:brightness(.94) contrast(1.05) saturate(.92);
  --photo-filter:grayscale(.35) sepia(.14) brightness(.94) contrast(1.05); --img-radius:2px;
}
[data-theme="moody"] .section-title, [data-theme="moody"] .cover-names { letter-spacing:3px; }

/* ============================================================
   표지 레이아웃 : 클래식·로맨틱 = 액자형 / 모던·감성 = 풀블리드
   ============================================================ */
[data-theme="classic"] .cover,
[data-theme="romantic"] .cover {
  flex-direction:column; justify-content:center; align-items:center;
  gap:34px; background:var(--bg); padding:80px 36px 70px;
}
[data-theme="classic"] .cover::after,
[data-theme="romantic"] .cover::after { display:none; }
[data-theme="classic"] .cover-photo,
[data-theme="romantic"] .cover-photo {
  position:relative; inset:auto; order:1; width:100%; height:50vh;
  max-height:440px; box-shadow:0 18px 40px rgba(90,70,50,.16);
}
[data-theme="classic"] .cover-photo { border-radius:220px 220px 5px 5px; }
[data-theme="romantic"] .cover-photo { border-radius:20px; box-shadow:0 18px 40px rgba(200,130,140,.22); }
[data-theme="classic"] .cover-inner,
[data-theme="romantic"] .cover-inner { position:relative; z-index:2; order:2; padding:0; color:var(--text); }
[data-theme="classic"] .cover-label,
[data-theme="romantic"] .cover-label { color:var(--accent); }
[data-theme="classic"] .cover-names,
[data-theme="romantic"] .cover-names { color:var(--heading); }
[data-theme="classic"] .cover-names em,
[data-theme="romantic"] .cover-names em { color:var(--accent); }
[data-theme="classic"] .cover-en,
[data-theme="romantic"] .cover-en { color:var(--text-soft); }
[data-theme="classic"] .cover-date,
[data-theme="classic"] .cover-venue,
[data-theme="romantic"] .cover-date,
[data-theme="romantic"] .cover-venue { color:var(--text-soft); }
[data-theme="classic"] .scroll-cue,
[data-theme="romantic"] .scroll-cue { display:none; }

/* 로맨틱 : 표지 꽃 장식 + 스크립트 */
[data-theme="romantic"] .cover-en { font-family:'Dancing Script',cursive; font-size:20px; letter-spacing:1px; }
[data-theme="romantic"] .cover::before { content:"🌿"; position:absolute; top:60px; left:26px; font-size:30px; transform:rotate(-18deg); opacity:.9; z-index:3; }
[data-theme="romantic"] .cover::after { content:"🌸"; display:block; position:absolute; bottom:120px; right:26px; font-size:26px; transform:rotate(14deg); opacity:.9; z-index:3; background:none; }

/* 모던 : 표지 이름 영문 위주, 좌측 정렬 무드 */
[data-theme="modern"] .cover-inner { text-align:center; }
[data-theme="modern"] .cover-names { letter-spacing:2px; }
[data-theme="modern"] .cover-label { font-weight:500; }

/* 모던 : 섹션 제목 아래 여백 정돈 */
[data-theme="modern"] .eyebrow { color:#111; }

/* 감성 : 이름 세리프 라이트 */
[data-theme="moody"] .cover-names { font-weight:500; }

/* 데스크탑에서 카드 바깥 배경 */
@media (min-width:520px){
  body { background:var(--page-bg); transition:background .4s; }
}

/* ============================================================
   클래식 디벨롭 — 우아함 강화 (classic 전용)
   ============================================================ */
[data-theme="classic"] {
  --page-bg:#ecebe7;
  --accent:#ab967a;
  --bg:#ffffff; --surface:#f7f6f3; --line:#ecebe6;
  --text:#403d38; --text-soft:#8f8b83; --heading:#2c2a26;
  --font-head:'Gowun Dodum', sans-serif;
}
/* 섹션별 소프트 포인트 컬러 (타이틀 색은 동일, 포인트만 은은하게 다르게) */
[data-theme="classic"] .greeting     { --accent:#b39a6e; }
[data-theme="classic"] .gallery-sec  { --accent:#93a58f; }
[data-theme="classic"] .date-sec     { --accent:#8b9dab; }
[data-theme="classic"] .location-sec { --accent:#c39a86; }
[data-theme="classic"] .account-sec  { --accent:#b596a4; }
[data-theme="classic"] .photo-sec    { --accent:#7e9bcc; }
[data-theme="classic"] .section { padding:80px 30px; }
[data-theme="classic"] .section-title { font-size:25px; letter-spacing:1.5px; color:#7e9bcc; }
[data-theme="classic"] .greeting-body { font-family:'Gowun Dodum', sans-serif; line-height:1.95; }

/* 표지 : 아치 안쪽 헤어라인 프레임 */
[data-theme="classic"] .cover { gap:30px; }
[data-theme="classic"] .cover-photo::after {
  content:""; position:absolute; inset:9px; border:1px solid rgba(255,255,255,.55);
  border-radius:210px 210px 4px 4px; pointer-events:none;
}
/* 표지 : 이름 타이포 정제 + 세리프 '&' */
[data-theme="classic"] .cover-names { font-family:'Nanum Myeongjo', serif; font-size:37px; letter-spacing:4px; font-weight:700; gap:16px; }
[data-theme="classic"] .cover-names em {
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:30px; color:var(--accent); letter-spacing:0;
}
/* 표지 : 이름과 일시 사이 얇은 구분선 */
[data-theme="classic"] .cover-meta { margin-top:0; }
[data-theme="classic"] .cover-meta::before {
  content:""; display:block; width:1px; height:24px; background:var(--line); margin:0 auto 18px;
}

/* 섹션 제목 아래 얇은 금색 라인 (인사말은 하트 오너먼트 유지) */
[data-theme="classic"] .section-title::after {
  content:""; display:block; width:26px; height:1px; background:var(--accent); opacity:.6; margin:18px auto 0;
}
[data-theme="classic"] .greeting .section-title::after { display:none; }
[data-theme="classic"] .greeting { padding-top:82px; }

/* 섹션 교차 배경으로 리듬감 */
[data-theme="classic"] .gallery-sec,
[data-theme="classic"] .location-sec,
[data-theme="classic"] .rsvp-sec { background:var(--surface); border-top:1px solid rgba(120,90,50,.06); border-bottom:1px solid rgba(120,90,50,.06); }

/* 갤러리 : 은은한 모서리 */
[data-theme="classic"] .gallery figure { border-radius:5px; }

/* 달력 강조일 : 부드러운 그림자 */
[data-theme="classic"] .cal-grid .today::before { box-shadow:0 4px 10px rgba(169,138,94,.35); }

/* ============================================================
   표지 오프닝 — 은은한 페이드 + 부드러운 줌 세틀 + 순차 등장 (차분·세련)
   ============================================================ */
[data-theme="classic"] .cover-photo,
[data-theme="romantic"] .cover-photo { animation:covPhoto 1.8s cubic-bezier(.22,.61,.36,1) both; }
[data-theme="classic"] .cover-lead,
[data-theme="romantic"] .cover-lead { animation:covRise 1.1s ease .45s both; }
[data-theme="classic"] .cover-names,
[data-theme="romantic"] .cover-names { animation:covRise 1.1s ease .65s both; }
[data-theme="classic"] .cover-meta,
[data-theme="romantic"] .cover-meta { animation:covRise 1.1s ease .85s both; }
@keyframes covPhoto { from { opacity:0; transform:scale(1.06); } to { opacity:1; transform:scale(1); } }
@keyframes covRise  { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  [data-theme="classic"] .cover-photo, [data-theme="romantic"] .cover-photo,
  [data-theme="classic"] .cover-lead, [data-theme="romantic"] .cover-lead,
  [data-theme="classic"] .cover-names, [data-theme="romantic"] .cover-names,
  [data-theme="classic"] .cover-meta, [data-theme="romantic"] .cover-meta { animation:none; }
}
