/* Session Bookmark Functionality for Detail Page */

/* Bookmark Button States */
/*
.timetable-item-bookmark {
  position: relative;
  transition: all 0.2s ease-in-out;

  &:hover {
    transform: scale(1.1);
  }

  &:active {
    transform: scale(0.95);
  }
}
*/
/* Default state - not bookmarked */
/*
.timetable-item-bookmark.bookmark-not-bookmarked {
  opacity: 0.6;

  &:hover {
    opacity: 1;
  }
}
*/
/* Bookmarked state */
/*
.timetable-item-bookmark.bookmark-bookmarked {
  opacity: 1;
  color: var(--bs-warning, #ffc107);

  &:hover {
    color: var(--bs-warning-dark, #ffca2c);
  }
}
*/
/* Loading state */
.timetable-item-bookmark.bookmark-loading {
  opacity: 0.7;
  pointer-events: none;

  &::before {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }
}

/* Keyframe for loading animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Detail page specific bookmark styling */
/*
.timetable-detail {
  .timetable-item-top {
    position: relative;
*/
    /* Bookmarked indicator for detail page */
/*
    &.timetable-item-bookmarked {
      &::after {
        content: "";
        position: absolute;
        top: 0;
        left: -20px;
        width: 4px;
        height: 100%;
        background-color: var(--bs-warning, #ffc107);
        border-radius: 0 2px 2px 0;
      }
    }
  }
*/
  /* Larger bookmark button on detail page */
/*
  .timetable-item-bookmark {
    font-size: 1.25em;
    padding: 8px;
  }
}
*/

/* Responsive Adjustments */
/*
@media (max-width: 768px) {
  .timetable-detail .timetable-item-bookmark {
    font-size: 1.1em;
    padding: 6px;
  }

  .timetable-detail .timetable-item-top.timetable-item-bookmarked::after {
    left: -15px;
    width: 3px;
  }
}
*/

/* High Contrast Mode Support */
/*
@media (prefers-contrast: high) {
  .timetable-item-bookmark.bookmark-bookmarked {
    color: #000;
    background-color: #ffc107;
    border: 2px solid #000;
    border-radius: 4px;
  }

  .timetable-detail .timetable-item-top.timetable-item-bookmarked::after {
    background-color: #000;
    width: 6px;
  }
}
*/

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  .timetable-item-bookmark {
    transition: none;
  }

  .bookmark-loading::before {
    animation: none;
    content: "⏳";
  }
}

/* Print Styles */
/*
@media print {
  .timetable-item-bookmark {
    display: none;
  }

  .timetable-detail .timetable-item-top.timetable-item-bookmarked::before {
    content: "★ Gemerkt";
    position: absolute;
    top: 0;
    right: 0;
    font-size: 14px;
    font-weight: bold;
    background-color: #ffc107;
    padding: 4px 8px;
    border-radius: 4px;
  }
}
*/
.downloads a.btn-disabled {
  background-image: url(data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="%23000" stroke-linecap="round" stroke-linejoin="round" d="M4.268 10.902 1 14.896l3.02.604 1.21 3.625 3.176-5.041M15.857 10.902l3.268 3.994-3.02.604-1.21 3.625-3.176-5.041"/><path stroke="%23000" stroke-linecap="round" stroke-linejoin="round" d="M3.417 7.646a6.646 6.646 0 1 0 13.29 0 6.646 6.646 0 0 0-13.29 0"/></svg>);
    background-position: 12px 8px !important;
  background-repeat: no-repeat !important;
  background-size: 18px 18px !important;
  padding-left: 40px !important;
  margin-top: 15px;
}
}
.certificate-download-disabled {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.26814 10.9019L1 14.8958L4.02083 15.5L5.22917 19.125L8.40628 14.0838" stroke="#666" stroke-linecap="round" stroke-linejoin="round" /><path d="M15.8569 10.9019L19.125 14.8958L16.1042 15.5L14.8959 19.125L11.7188 14.0838" stroke="#666" stroke-linecap="round" stroke-linejoin="round" /><path d="M3.4165 7.64583C3.4165 9.40842 4.11669 11.0988 5.36302 12.3451C6.60936 13.5915 8.29975 14.2917 10.0623 14.2917C11.8249 14.2917 13.5153 13.5915 14.7616 12.3451C16.008 11.0988 16.7082 9.40842 16.7082 7.64583C16.7082 5.88325 16.008 4.19285 14.7616 2.94652C13.5153 1.70018 11.8249 1 10.0623 1C8.29975 1 6.60936 1.70018 5.36302 2.94652C4.11669 4.19285 3.4165 5.88325 3.4165 7.64583Z" stroke="#666" stroke-linecap="round" stroke-linejoin="round" /></svg>') !important;
  background-position: 12px 8px !important;
  background-repeat: no-repeat !important;
  background-size: 18px 18px !important;
  padding-left: 40px !important;
  margin-top: 15px;
}
.certificate-download-disabled:hover {
  color: #666 !important;
  font-weight: 600;
}

.certificate-download-btn {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC4yNjggMTAuOTAyIDEgMTQuODk2bDMuMDIuNjA0IDEuMjEgMy42MjUgMy4xNzYtNS4wNDFtNy40NTEtMy4xODIgMy4yNjggMy45OTQtMy4wMi42MDQtMS4yMSAzLjYyNS0zLjE3Ni01LjA0MSIgc3Ryb2tlPSIjOGMwODRkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMy40MTcgNy42NDZhNi42NDYgNi42NDYgMCAxIDAgMTMuMjkgMCA2LjY0NiA2LjY0NiAwIDAgMC0xMy4yOSAwIiBzdHJva2U9IiM4YzA4NGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==) !important;
  background-position: 12px 8px !important;
  background-repeat: no-repeat !important;
  background-size: 18px 18px !important;
  padding-left: 40px !important;
  margin-top: 15px;
}