/* === NEW STYLES FOR TWO-COLUMN LAYOUT === */
.two-column-layout {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
    margin-bottom: 40px;
    flex-wrap: wrap; /* prevents overflow on smaller screens */
}

/* LEFT CONTENT STYLES */
.content-left {
    flex: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* RIGHT CONTENT STYLES */
.content-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* Image styling */
.content-right img {
    max-width: 100%;  /* scales to container */
    height: auto;     /* maintains aspect ratio */
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
    object-fit: contain; /* prevents distortion */
}

/* General H1/H2 and Paragraph Styles */
.two-column-layout h1,
.two-column-layout h2 {
    text-align: left;
    width: 100%; /* prevent clipping on small screens */
    margin-top: 15px;
    margin-bottom: 5px;
    color: #FFD700;
    border-bottom: 2px solid #EDA20C;
    padding-bottom: 5px;
}

.content-right h1 {
    text-align: center;
    border-bottom: none;
    font-size: 2.5rem;
}

.two-column-layout p {
    background: rgba(255, 255, 255, 0.05);
    padding: 15px;
    border-radius: 8px;
    line-height: 1.6;
    margin-bottom: 10px;
    word-wrap: break-word; /* prevents overflow on mobile */
}

/* Return button */
.return-btn {
    text-align: center;
    padding: 18px 30px; /* larger tap target */
    color: #111;
    border-radius: 8px;
    font-weight: bold;
    letter-spacing: 1px;
    display: block;
    width: 80%; /* fluid width for smaller screens */
    max-width: 300px;
    margin: 20px auto 0;
    transition: all 0.3s ease;
}

/* MOBILE OPTIMIZATION */
@media (max-width: 768px) {
    .two-column-layout {
        flex-direction: column;
        gap: 20px;
    }

    .content-right {
        order: -1;
    }

    .content-right h1 {
        font-size: 2rem;
    }

    .content-right img {
        max-width: 80%; /* keep image large but responsive */
        height: auto;
    }
}
/* === GENERAL STYLES === */
body {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  background-color: #222;
  background-image: url("images/background.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  width: 100%; 
  min-height: 100vh;
  margin: 0;
  padding: 40px 80px;
  overflow-x: hidden;
  overflow-y: auto; 
  position: relative;
  color: #fff;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* === CONTAINERS === */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  position: relative; 
}

.card {
  width: 100%;
  max-width: 700px;
  border-radius: 12px;
  padding: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* === PLAYER === */
.player { align-items: center; }
.player.card { box-shadow: none; }

.player .wrapper {
  border-radius: 20px;
  padding: 40px 30px 60px; 
  background: rgba(255, 255, 255, 0.1); 
  box-shadow: none; 
  position: relative;
  z-index: 2;
}

/* === TRACK INFO === */
.details {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.track-name {
  font-size: 2.5rem; 
  margin-top: 15px;
}

.track-artist {
  font-size: 1.5rem; 
  margin-top: 5px;
  color: #FFD700; 
}

.now-playing {
  text-align: center;
  width: 100%;
  margin-top: 10px;
  font-size: 1.2rem;
}

/* === BUTTONS === */
.buttons {
  display: flex;
  justify-content: center;
  gap: 0; 
  margin: 20px 0;
}

.buttons i {
  color: #FFA500;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.2s, transform 0.2s;
}

.buttons i:hover {
  opacity: 1;
  transform: scale(1.15);
}

.fa-thumbs-up,
.fa-thumbs-down {
  transition: transform 0.25s ease, color 0.25s ease;
  cursor: pointer;
}

.fa-thumbs-up:hover {
  transform: scale(1.3);
  color: #32CD32;
}

.fa-thumbs-down:hover {
  transform: scale(1.3);
  color: #FF4500;
}

.repeat-track,
.random-track,
.prev-track,
.next-track {
  padding: 25px; 
  opacity: 0.8;
  transition: opacity .2s;
  cursor: pointer;
}

.playpause-track { padding: 10px 25px; } 
.playpause-track i { font-size: 3.5rem; }

.active { color: white; }

/* === SLIDERS === */
.slider_container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.seek_slider,
.volume_slider {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 5px;
  transition: opacity .2s;
  cursor: pointer;
  border-radius: 5px;
}

.seek_slider { width: 60%; background: linear-gradient(to right, #FF8C00, #FFA500); }
.volume_slider { width: 30%; background: linear-gradient(to right, #FFD700, #FFFF66); }

.seek_slider::-webkit-slider-thumb,
.volume_slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 15px; height: 15px;
  background: white;
  border: 3px solid #FFD700;
  border-radius: 100%;
  cursor: grab;
}
.seek_slider::-moz-range-thumb,
.volume_slider::-moz-range-thumb {
  width: 15px; height: 15px;
  background: white;
  border: 3px solid #FFD700;
  border-radius: 100%;
  cursor: grab;
}

/* === VISUALIZER === */
.loader {
  height: 180px; 
  opacity: 0;
  transition: opacity 0.5s ease, height 0.3s ease;
  overflow: hidden;
  pointer-events: none;
  display: flex;
  justify-content: center;
  margin-top: 40px; 
  position: relative;
  z-index: 2;
}

.loader.visible {
  height: 180px;
  opacity: 1;
  margin-top: 40px;
  pointer-events: auto;
}

.stroke {
  width: 7px; 
  border-radius: 3px;
  transform-origin: bottom center;
  transition: transform 0.1s ease-out;
  transform: scaleY(0.2);
  background: linear-gradient(to top, #FFA500, #FFD700);
  box-shadow: 0 0 5px orange;
}

.loader .stroke {
  height: 100px; 
  width: 8px;
  border-radius: 50px;
  margin: 0 4px; 
}

.stroke:nth-child(2) { background: linear-gradient(to top, #FFD700, #FFA500); }
.stroke:nth-child(3) { background: linear-gradient(to top, #FFA500, #FFD700); }
.stroke:nth-child(4) { background: linear-gradient(to top, #FFD700, #FFA500); }
.stroke:nth-child(5) { background: linear-gradient(to top, #FFA500, #FFD700); }
.stroke:nth-child(6) { background: linear-gradient(to top, #FFD700, #FFA500); }
.stroke:nth-child(7) { background: linear-gradient(to top, #FFA500, #FFD700); }

/* === MOBILE OPTIMIZATION === */
@media (max-width: 768px) {
  body { padding: 20px 10px; }
  .track-name { font-size: 2rem; }
  .track-artist { font-size: 1.2rem; }
  .buttons { gap: 0px; }
  .buttons i { font-size: 1.5em; }
  .playpause-track i { font-size: 3rem !important; }
  .loader.visible { height: 100px; margin-top: 20px; }
  .loader .stroke { height: 60px; width: 6px; margin: 0 3px; }
}

/* === PLAYER CLEAN === */
.player { align-items: center; }
.player.card { box-shadow: none; }

.player .wrapper {
  border-radius: 12px;
  padding: 30px 20px;
  background: rgba(255, 255, 255, 0.08);
  text-align: center;
}

/* === TRACK INFO === */
.details {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.track-name {
  font-size: 2rem;
  margin-top: 10px;
  color: #fff;
  text-decoration: none;
}

.track-name:hover { color: #EDA20C; }

.track-artist {
  font-size: 1.2rem;
  margin-top: 5px;
  color: #FFD700;
  text-decoration: none;
}

.track-artist:hover { color: #FFA500; }

.now-playing {
  margin-top: 10px;
  font-size: 1rem;
  color: #bbb;
}

/* === BUTTONS === */
.buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px 0;
}

.buttons i {
  color: #FFA500;
  cursor: pointer;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.2s;
}

.buttons i:hover {
  opacity: 1;
  transform: scale(1.15);
}

.playpause-track i {
  font-size: 3rem;
}

.prev-track i,
.next-track i,
.random-track i,
.repeat-track i {
  font-size: 1.8rem;
}

/* === HIDE UNUSED === */
.track-art,
.cover,
.slider_container,
.loader {
  display: none !important;
}

/* === MOBILE OPTIMIZATION === */
@media (max-width: 768px) {
  .track-name { font-size: 1.6rem; }
  .track-artist { font-size: 1rem; }
  .buttons i { font-size: 1.5rem; }
  .playpause-track i { font-size: 2.5rem; }
}
