/* Pivoine Rose Custom Theme for Asciinema Server */
/* Primary Color: #CE275B (Pivoine Rose) */
/* Background: Gray tones */

:root {
  --pivoine-rose: #CE275B;
  --pivoine-rose-dark: #A61E47;
  --pivoine-rose-light: #E63368;
  --gray-50: #FAFAFA;
  --gray-100: #F5F5F5;
  --gray-200: #EEEEEE;
  --gray-300: #E0E0E0;
  --gray-400: #BDBDBD;
  --gray-500: #9E9E9E;
  --gray-600: #757575;
  --gray-700: #616161;
  --gray-800: #424242;
  --gray-900: #212121;
}

/* Override Bootstrap primary color */
.btn-primary,
.badge-primary,
.bg-primary,
.text-primary,
a.text-primary:hover,
a.text-primary:focus {
  background-color: var(--pivoine-rose) !important;
  border-color: var(--pivoine-rose) !important;
  color: white !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--pivoine-rose-dark) !important;
  border-color: var(--pivoine-rose-dark) !important;
}

/* Links */
a {
  color: var(--pivoine-rose);
}

a:hover,
a:focus {
  color: var(--pivoine-rose-dark);
}

/* Body and backgrounds */
body {
  background-color: var(--gray-100);
  color: var(--gray-900);
}

/* Header/Navbar */
.navbar {
  background-color: var(--gray-800) !important;
  border-bottom: 3px solid var(--pivoine-rose);
}

.navbar-dark .navbar-brand {
  color: var(--pivoine-rose) !important;
  font-weight: 600;
}

.navbar-dark .navbar-brand:hover {
  color: var(--pivoine-rose-light) !important;
}

.navbar-dark .navbar-nav .nav-link {
  color: var(--gray-200) !important;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--pivoine-rose) !important;
}

/* Cards and containers */
.card,
.list-group-item {
  background-color: white;
  border-color: var(--gray-300);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.card-header,
.list-group-item.active {
  background-color: var(--gray-800);
  border-color: var(--gray-700);
  color: white;
}

/* Main content area */
.container,
.container-fluid {
  background-color: var(--gray-50);
  padding: 2rem 1rem;
}

main {
  background-color: white;
  border-radius: 4px;
  padding: 2rem;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Buttons */
.btn {
  border-radius: 4px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.btn-outline-primary {
  color: var(--pivoine-rose);
  border-color: var(--pivoine-rose);
}

.btn-outline-primary:hover {
  background-color: var(--pivoine-rose);
  border-color: var(--pivoine-rose);
  color: white;
}

.btn-secondary {
  background-color: var(--gray-600);
  border-color: var(--gray-600);
}

.btn-secondary:hover {
  background-color: var(--gray-700);
  border-color: var(--gray-700);
}

/* Forms */
.form-control {
  border-color: var(--gray-300);
  border-radius: 4px;
}

.form-control:focus {
  border-color: var(--pivoine-rose);
  box-shadow: 0 0 0 0.2rem rgba(206, 39, 91, 0.25);
}

/* Alerts */
.alert-primary {
  background-color: rgba(206, 39, 91, 0.1);
  border-color: var(--pivoine-rose);
  color: var(--pivoine-rose-dark);
}

/* Tables */
.table {
  background-color: white;
}

.table thead th {
  background-color: var(--gray-100);
  border-bottom: 2px solid var(--pivoine-rose);
  color: var(--gray-800);
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--gray-50);
}

/* Pagination */
.pagination .page-item.active .page-link {
  background-color: var(--pivoine-rose);
  border-color: var(--pivoine-rose);
}

.pagination .page-link {
  color: var(--pivoine-rose);
}

.pagination .page-link:hover {
  color: var(--pivoine-rose-dark);
  background-color: var(--gray-100);
}

/* Player/Terminal */
.asciinema-player-wrapper,
.asciinema-terminal {
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Footer */
footer {
  background-color: var(--gray-800);
  color: var(--gray-400);
  border-top: 3px solid var(--pivoine-rose);
}

footer a {
  color: var(--gray-300);
}

footer a:hover {
  color: var(--pivoine-rose);
}

/* Badges */
.badge {
  border-radius: 3px;
  font-weight: 500;
}

.badge-secondary {
  background-color: var(--gray-600);
}

/* Dropdowns */
.dropdown-menu {
  border-color: var(--gray-300);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--gray-100);
  color: var(--pivoine-rose);
}

/* Loading/Progress */
.progress-bar {
  background-color: var(--pivoine-rose);
}

/* Custom recording list */
.recording-item {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.recording-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Logo styling */
.navbar-brand svg,
.navbar-brand img {
  filter: brightness(0) saturate(100%) invert(28%) sepia(91%) saturate(2059%) hue-rotate(325deg) brightness(89%) contrast(92%);
  transition: filter 0.2s ease;
}

.navbar-brand:hover svg,
.navbar-brand:hover img {
  filter: brightness(0) saturate(100%) invert(36%) sepia(96%) saturate(2373%) hue-rotate(329deg) brightness(96%) contrast(87%);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  main {
    padding: 1rem;
  }

  .container,
  .container-fluid {
    padding: 1rem 0.5rem;
  }
}

/* Smooth animations */
* {
  transition-property: background-color, border-color, color;
  transition-duration: 0.15s;
  transition-timing-function: ease-in-out;
}

button,
.btn,
a {
  transition-property: all;
}
