/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.lesson-lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.9);z-index:10000;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease;}.lesson-lightbox-overlay.active{display:flex;opacity:1;}.lesson-lightbox-content{position:relative;width:90%;height:90%;max-width:1300px;max-height:90vh;display:flex;align-items:center;justify-content:center;}.lesson-lightbox-close{position:absolute;top:-40px;right:0;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:10px;z-index:10001;transition:color 0.2s ease;}.lesson-lightbox-close:hover,.lesson-lightbox-close:focus{color:#ccc;outline:2px solid #fff;outline-offset:2px;}.lesson-lightbox-prev,.lesson-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.6);border:2px solid rgba(255,255,255,0.8);color:#fff;font-size:1.5rem;cursor:pointer;padding:15px 12px;z-index:10001;transition:all 0.2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center;}.lesson-lightbox-prev{left:20px;}.lesson-lightbox-next{right:20px;}.lesson-lightbox-prev:hover,.lesson-lightbox-prev:focus,.lesson-lightbox-next:hover,.lesson-lightbox-next:focus{background:rgba(0,0,0,0.8);border-color:#fff;outline:2px solid #fff;outline-offset:2px;}.lesson-lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);color:#fff;padding:8px 16px;border-radius:20px;font-size:0.9rem;z-index:10001;}.lesson-lightbox-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}.lesson-lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 4px 20px rgba(0,0,0,0.5);}.lesson-sidebar .lesson-image,.sidebar .lesson-image{width:100%;margin:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ccc #f0f0f0;}.lesson-sidebar .lesson-image::-webkit-scrollbar,.sidebar .lesson-image::-webkit-scrollbar{height:6px;}.lesson-sidebar .lesson-image::-webkit-scrollbar-track,.sidebar .lesson-image::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px;}.lesson-sidebar .lesson-image::-webkit-scrollbar-thumb,.sidebar .lesson-image::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px;}.lesson-sidebar .lesson-image::-webkit-scrollbar-thumb:hover,.sidebar .lesson-image::-webkit-scrollbar-thumb:hover{background:#999;}.lesson-sidebar .lesson-image .field__items,.sidebar .lesson-image .field__items{display:flex;gap:8px;padding:4px 0;}.lesson-sidebar .lesson-image .field__item,.sidebar .lesson-image .field__item{flex-shrink:0;}.lesson-sidebar .lesson-image img,.sidebar .lesson-image img{cursor:pointer;transition:opacity 0.2s ease,transform 0.2s ease;width:120px;height:120px;object-fit:cover;display:block;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,0.1);}.lesson-sidebar .lesson-image img:hover,.lesson-sidebar .lesson-image img:focus,.sidebar .lesson-image img:hover,.sidebar .lesson-image img:focus{opacity:0.9;transform:scale(1.05);outline:2px solid #007bff;outline-offset:2px;box-shadow:0 4px 8px rgba(0,0,0,0.2);}@media (max-width:768px){.lesson-lightbox-content{width:95%;height:95%;}.lesson-lightbox-close{top:-50px;font-size:1.5rem;}.lesson-lightbox-prev,.lesson-lightbox-next{font-size:1.2rem;padding:12px 10px;}.lesson-lightbox-prev{left:10px;}.lesson-lightbox-next{right:10px;}.lesson-sidebar .lesson-image img,.sidebar .lesson-image img{width:100px;height:100px;}}
.song-actions{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap;}.song-actions .action-btn{padding:0.5rem;border:1px solid var(--color-border,#ddd);background:var(--color-background,#fff);border-radius:4px;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;position:relative;}.song-actions .action-btn:hover:not(.disabled){background:var(--color-hover,#f0f0f0);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.1);}.song-actions .action-btn:active:not(.disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.1);}.song-actions .action-btn.disabled,.song-actions .action-btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.song-actions .action-btn .icon{font-size:1rem;line-height:1;display:inline-block;}.song-action-like{color:var(--color-like,#e91e63);}.song-action-like:hover:not(.disabled){background:var(--color-like-hover,#fce4ec);border-color:var(--color-like,#e91e63);}.song-action-like.active,.song-action-like.liked{background:var(--color-like,#e91e63);color:white;}.song-action-share{color:var(--color-share,#1976d2);}.song-action-share:hover:not(.disabled){background:var(--color-share-hover,#e3f2fd);border-color:var(--color-share,#1976d2);}.song-action-download{color:var(--color-download,#388e3c);}.song-action-download:hover:not(.disabled){background:var(--color-download-hover,#e8f5e9);border-color:var(--color-download,#388e3c);}.song-action-export{color:var(--color-export,#f57c00);}.song-action-export:hover:not(.disabled){background:var(--color-export-hover,#fff3e0);border-color:var(--color-export,#f57c00);}.song-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease;}.song-modal.active{display:flex;opacity:1;}.song-modal-content,.channel-metadata-content,.modal-content{background:white;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn 0.3s ease;}@keyframes modalSlideIn{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.song-modal .modal-close,.song-modal .channel-metadata-close,.song-modal .export-modal-close,.song-modal .close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.75rem;cursor:pointer;color:#666;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s;}.song-modal .modal-close:hover,.song-modal .channel-metadata-close:hover,.song-modal .export-modal-close:hover{background:#f0f0f0;color:#333;}@media (max-width:768px){.song-modal .modal-close,.song-modal .channel-metadata-close,.song-modal .export-modal-close,.song-modal .close-btn{width:48px;height:48px;font-size:2rem;}}.song-modal-header,.channel-metadata-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0;}.song-modal-title,.channel-metadata-title{font-size:1.25rem;font-weight:600;color:#333;margin:0;}.song-modal-body,.channel-metadata-body{color:#666;line-height:1.6;}.song-modal-export .file-tree{background:#f5f5f5;padding:1rem;border-radius:4px;margin:1rem 0;font-family:monospace;}.song-modal-export .file-tree-item{padding:0.25rem 0;line-height:1.4;}.song-modal-export .file-tree-children{margin-left:1.5rem;}.song-modal-export .export-download-btn{display:inline-block;padding:0.75rem 1.5rem;background:var(--color-primary,#1976d2);color:white;border-radius:4px;text-decoration:none;transition:background 0.2s;margin-top:1rem;}.song-modal-export .export-download-btn:hover{background:var(--color-primary-dark,#1565c0);}.song-modal-share .share-options{display:flex;gap:1rem;margin:1rem 0;flex-wrap:wrap;}.song-modal-share .share-option{flex:1;min-width:100px;padding:0.5rem;text-align:center;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all 0.2s;}.song-modal-share .share-option:hover{background:#f5f5f5;border-color:#ccc;}.song-modal-login .login-options{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;}.song-modal-login .btn-login,.song-modal-login .btn-signup{padding:0.75rem 1.5rem;border-radius:4px;text-align:center;text-decoration:none;transition:all 0.2s;font-weight:500;}.song-modal-login .btn-login{background:var(--color-primary,#1976d2);color:white;}.song-modal-login .btn-signup{background:white;color:var(--color-primary,#1976d2);border:2px solid var(--color-primary,#1976d2);}.song-modal-login .btn-login:hover{background:var(--color-primary-dark,#1565c0);}.song-modal-login .btn-signup:hover{background:var(--color-primary-light,#e3f2fd);}.song-modal-success .modal-content,.song-modal-error .modal-content{text-align:center;}.song-modal-success .success-icon{color:#4caf50;font-size:3rem;margin-bottom:1rem;}.song-modal-error .error-icon{color:#f44336;font-size:3rem;margin-bottom:1rem;}@media (max-width:768px){.song-actions{gap:0.25rem;}.song-actions .action-btn{padding:0.375rem;min-width:32px;min-height:32px;}.song-modal-content,.channel-metadata-content{width:95%;padding:1.5rem;margin:1rem;}}@media (max-width:480px){.song-modal-content,.channel-metadata-content{width:100%;height:100%;max-height:100vh;border-radius:0;margin:0;}}@media print{.song-actions,.song-modal{display:none !important;}}
