/* ============================================================
   shared.css — LoveTypes 共用樣式
   適用於所有非 Luna 主頁面（homepage × 5 + theory × 5）
   ============================================================ */

/* ─── CSS 變數 ─── */
:root {
  --rose:    #C9666E;
  --rose-lt: #F2C4C7;
  --peach:   #F5E6E0;
  --cream:   #FDF8F5;
  --warm:    #8B5C5C;
  --text:    #3A2828;
  --muted:   #7A6060;
  --card-bg: #FFFFFF;
  --shadow:  0 4px 24px rgba(180,100,100,.10);
  --radius:  16px;
}

/* ─── RESET ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ─── BODY ─── */
body {
  font-family: 'Noto Sans TC', sans-serif;
  background: var(--cream);
  color: var(--text);
  min-height: 100vh;
  line-height: 1.75;
}

/* ─── NAV ─── */
nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(253,248,245,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rose-lt);
  padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
  height: 60px;
}
.nav-logo {
  font-family: 'Noto Serif TC', serif;
  font-size: 1.1rem; font-weight: 700;
  color: var(--rose); text-decoration: none;
  display: flex; align-items: center; gap: 8px;
}
.nav-links { display: flex; gap: 20px; }
.nav-links a { color: var(--muted); text-decoration: none; font-size: .85rem; transition: color .2s; }
.nav-links a:hover { color: var(--rose); }
.nav-links a.active { color: var(--rose); font-weight: 700; }
.nav-left { display: flex; align-items: center; gap: 12px; }

/* ─── LANG DROPDOWN ─── */
.lang-menu { position: relative; }
.lang-current {
  background: transparent; border: 1.5px solid var(--rose);
  color: var(--rose); border-radius: 999px;
  padding: 4px 13px; font-size: .78rem; font-weight: 700;
  cursor: pointer; font-family: 'Noto Sans TC', sans-serif;
  transition: all .2s; letter-spacing: .05em;
  display: inline-flex; align-items: center; gap: 4px;
}
.lang-current:hover { background: var(--rose); color: #fff; }
.lang-list {
  display: none; position: absolute; top: calc(100% + 6px); left: 0;
  background: #fff; border: 1px solid var(--rose-lt);
  border-radius: 10px; box-shadow: 0 4px 20px rgba(180,100,100,.15);
  list-style: none; overflow: hidden; z-index: 200; min-width: 110px;
}
.lang-menu.open .lang-list { display: block; }
.lang-list li a {
  display: block; padding: 9px 16px;
  font-size: .82rem; color: var(--text); text-decoration: none;
  transition: background .15s;
}
.lang-list li a:hover { background: var(--peach); color: var(--rose); }

/* ─── FOOTER ─── */
footer {
  background: #FFF5F5; border-top: 1px solid var(--rose-lt);
  text-align: center; padding: 32px 24px;
  color: var(--muted); font-size: .8rem;
}
footer a { color: var(--rose); text-decoration: none; }
