:root{
  --bg: #fff0f6;
  --pink: #ff69b4;
  --darkpink: #ff4da6;
  --blue: #4a67b0;
}

body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--bg);
}

.page-header{
  text-align:center;
  padding:40px 0 10px;
}

.page-header h1{
  margin:0;
  font-size:42px;
  color:#4f6d7a;
}

.page-header h2{
  margin:10px 0 0;
  font-size:26px;
  color: var(--darkpink);
}

.wrap{
  max-width:1200px;
  margin:0 auto;
  padding:20px;
}

.gallery{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(250px,1fr));
  gap:25px;
}

.song-card{
  background:white;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(0,0,0,0.1);
  cursor:pointer;
  transition:0.2s;
}

.song-card:hover{
  transform:translateY(-4px);
}

.card-top{
  background: var(--blue);
  padding:18px;
  text-align:center;
}

.card-top h3{
  margin:0;
  color:white;
}

.card-top p{
  margin:6px 0 0;
  color:white;
  font-size:14px;
}

.cover{
  width:100%;
  height:300px;
  object-fit:cover;
}

/* Modal */
.modal-card{
  border-radius:15px;
}

.modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px;
  background:#ffd6e7;
}

.modal-body{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:20px;
  padding:20px;
}

.modal-info{
  background:#fff5fa;
  padding:15px;
  border-radius:12px;
}

.modal-close{
  border:none;
  background:none;
  font-size:28px;
  cursor:pointer;
}

.footer{
  text-align:center;
  padding:25px;
  color:var(--pink);
  font-weight:bold;
}