/* Character page grid layout */

/* Grid area assignments */
.character-info {
  grid-area: info;
}

.character-main-view {
  grid-area: main;
}

.character-panels {
  grid-area: panels;
}

/* The grid container */
.character-grid {
  display: grid;
  gap: 1rem;
  padding: 1rem 0;
}

/* Mobile: single column, vertical stack */
.character-grid {
  grid-template-columns: 1fr;
  grid-template-areas:
    "info"
    "main"
    "panels";
}

/* Desktop: two columns, main view on right spanning full height */
@media (min-width: 992px) {
  .character-grid {
    grid-template-columns: minmax(300px, 1fr) 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "info main"
      "panels main";
  }
}

@media (min-width: 1200px) {
  .character-grid {
    grid-template-columns: minmax(300px, 2fr) 3fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "info main"
      "panels main";
  }
}

@media (min-width: 1400px) {
  .character-grid {
    grid-template-columns: minmax(300px, 1fr) 2fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "info main"
      "panels main";
  }
}

/* character avatar */
#avatar-upload-icon {
  opacity: 0;
  transition: opacity 0.1s ease;
}

#avatar-upload-button:hover #avatar-image {
  opacity: 0.6;
}

#avatar-upload-button:hover #avatar-upload-icon {
  opacity: 1;
}

/* Flash message auto-close progress bar animation */
@keyframes flash-progress {
  from {
    width: 100%;
  }
  to {
    width: 0%;
  }
}
