
/* ======================== */
/* LARGE WINDOW - DESKTOP   */
/* ======================== */

.large-window {
  position: fixed;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 980px;
  height: 780px;
  background: #c0c0c0;
  border-top: 2px solid #dfdfdf;
  border-left: 2px solid #dfdfdf;
  border-right: 2px solid #808080;
  border-bottom: 2px solid #808080;
  box-shadow: 4px 4px 10px rgba(0,0,0,0.5);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: "MS Sans Serif", Arial, sans-serif;
  font-size: 12px;
}

.large-window .title-bar {
  background: linear-gradient(to right, #000080, #1084d0);
  color: white;
  padding: 3px 8px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: move;
  user-select: none;
}

.large-window .title-bar-text {
  font-weight: bold;
  margin-left: 4px;
}

.title-bar-controls button {
  width: 22px;
  height: 18px;
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #808080;
  border-bottom: 2px solid #808080;
  font-size: 14px;
  line-height: 14px;
  padding: 0;
  margin: 0 2px;
  cursor: pointer;
}

.title-bar-controls button:hover {
  background: #c0c0c0;
}

.title-bar-controls button:active {
  border-top: 2px solid #808080;
  border-left: 2px solid #808080;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.large-window .window-body {
  flex: 1;
  padding: 12px 24px;
  overflow-y: auto;
  background: #c0c0c0;
  border-top: 2px solid #808080;
  border-left: 2px solid #808080;
}

/* ======================== */
/* MOBILE RESPONSIVE        */
/* ======================== */
@media (max-width: 900px) {
  .large-window {
    top: 25px !important;           /* paddings */
    left: 15px !important;          
    right: 15px !important;         
    transform: none !important;
    width: auto !important;         /* fill most of screen */
    max-width: 90% !important;      /* Slimmer than full width */
    height: auto !important;
    max-height: 85vh !important;
    border-radius: 0;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.4);
  
  }

  .large-window .window-body {
    padding: 16px 20px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch !important;   /* iOS scrolling */
   max-height: calc(85vh - 50px) !important; /* room for title bar + padding */
    touch-action: pan-y !important;
  }
  
  .portfolio-list {
    gap: 14px;
  }

  .portfolio-button {
    width: 82px;
    height: 82px;
    padding: 6px;
  }

  .portfolio-button img {
    width: 68px;
    height: 68px;
  }

  .portfolio-text .tile-text,
  .portfolio-text .tile-description {
    font-size: 14px;
  }
}

/* Very small phones */
@media (max-width: 480px) {
  .large-window {
    max-width: 94% !important;
    top: 15px !important;
  }
  
  .portfolio-button {
    width: 76px;
    height: 76px;
  }
  
  .portfolio-button img {
    width: 62px;
    height: 62px;
  }
}



/* List of portfolios */
.portfolio-list {
  margin-top: 7px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.portfolio-item {
  display: flex;
  align-items: center;
  gap: 18px;
}

.portfolio-button {
  width: 80px;
  height: 80px;
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #808080;
  border-bottom: 2px solid #808080;
  padding: 4px;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.portfolio-button:hover {
  background: #dfdfdf;
}

.portfolio-button img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  image-rendering: pixelated;
}

.portfolio-text {
  flex: 1;
}

.portfolio-text .tile-text {
  font-size: 13px;        
  font-weight: normal;    
  margin: 0 0 4px 0;
}

.portfolio-text .tile-description {
  font-size: 13px;        
  color: #444;
  line-height: 1.45;
}

.portfolio-tile:hover .tile-text,
.portfolio-tile:hover .tile-description {
  color: #ddd;
}

/* Win95 Styled Scrollbar for large portfolios window */
.large-window .window-body::-webkit-scrollbar {
  width: 16px;
  background: #c0c0c0;
  border-left: 2px solid #ffffff;
  border-top: 2px solid #ffffff;
}

.large-window .window-body::-webkit-scrollbar-thumb {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #808080;
  border-bottom: 2px solid #808080;
}

.large-window .window-body::-webkit-scrollbar-thumb:hover {
  background: #dfdfdf;
  border-top: 2px solid #808080;
  border-left: 2px solid #808080;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.large-window .window-body::-webkit-scrollbar-corner {
  background: #c0c0c0;
}



/* Music Window Styling */
#music-window {
  position: fixed;
  top: 120px;
  left: 50%;
  transform: translateX(-50%);
  width: 340px;
  background: #c0c0c0;
  border-top: 2px solid #dfdfdf;
  border-left: 2px solid #dfdfdf;
  border-right: 2px solid #808080;
  border-bottom: 2px solid #808080;
  box-shadow: 4px 4px 8px rgba(0,0,0,0.5);
  z-index: 1100;
  display: none;
  flex-direction: column;
}

#music-window:not(.hidden) {
  display: flex;
}

.window-header {
  background: linear-gradient(to right, #000080, #1084d0);
  color: white;
  padding: 3px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 26px;
}

#minimize-btn {
  width: 22px;
  height: 18px;
  background: #c0c0c0;
  border: 2px outset #c0c0c0;
  font-size: 12px;
  cursor: pointer;
}



/* Fix Music Player layering */
#music-window {
  z-index: 1100 !important;
}

#music-window.hidden {
  display: none !important;
}
