* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: -apple-system, "Apple SD Gothic Neo", sans-serif;
  color: #333;
  max-width: 480px;
  margin: 0 auto;
  background: #fdfbf7;
}
section { padding: 48px 24px; text-align: center; }
h1 { font-size: 28px; margin-bottom: 16px; }
h2 { font-size: 20px; margin-bottom: 24px; color: #b08968; }
p { line-height: 1.8; color: #555; }

.cover { padding: 96px 24px; }

.gallery img { width: 100%; height: 320px; object-fit: cover; border-radius: 8px; }

#map { width: 100%; height: 300px; border-radius: 8px; margin-bottom: 16px; }

/* 방명록 */
.guestbook form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.guestbook input, .guestbook textarea {
  padding: 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 15px;
}
.guestbook textarea { resize: vertical; min-height: 80px; }
.guestbook button {
  padding: 12px; background: #b08968; color: #fff; border: none; border-radius: 6px;
  font-size: 15px; cursor: pointer;
}
#gbList { list-style: none; text-align: left; }
#gbList li {
  padding: 12px; border-bottom: 1px solid #eee; display: flex; flex-direction: column; gap: 4px;
}
#gbList strong { color: #b08968; font-size: 14px; }
#gbList span { font-size: 15px; }

/* 음악 버튼 */
#musicBtn {
  position: fixed; top: 16px; right: 16px; z-index: 100;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(176,137,104,.9); color: #fff; border: none;
  font-size: 18px; cursor: pointer;
}
#musicBtn.playing { animation: spin 3s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
