#ldf-favorite-btn{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:10px 24px;background-color:#4845B6;color:#fff;border:none;cursor:pointer;border-radius:24px;font-size:16px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:background-color 0.3s ease,color 0.3s ease;user-select:none;box-shadow:none}#ldf-favorite-btn.ldf-favorite-add:hover:not(:disabled){background-color:#4845B6;color:#ddfd36;box-shadow:none;cursor:pointer}#ldf-favorite-btn.ldf-favorite-added{background-color:#ddfd36;color:#4845B6;box-shadow:none;transform:translateY(0);cursor:pointer;transition:box-shadow 0.3s ease}#ldf-favorite-btn.ldf-favorite-added:hover{box-shadow:inset 0 4px 10px rgb(0 0 0 / .25);background-color:#ddfd36;color:#4845B6;cursor:pointer}#ldf-favorite-btn .ldf-icon,#ldf-favorite-btn .ldf-spinner{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}#ldf-favorite-btn svg{stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ldf-spinner{border:2px solid #f3f3f3;border-top:2px solid #4845B6;border-radius:50%;width:14px;height:14px;animation:ldf-spin 1s linear infinite;display:inline-block;vertical-align:middle;margin-left:6px}@keyframes ldf-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.ldf-favorites-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}.ldf-favorite-tile{border:1px solid #ddd;border-radius:6px;background:#fff;text-align:center;position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden}.ldf-thumbnail-wrapper{width:100%;flex-shrink:0;overflow:hidden;border-radius:6px 6px 0 0}.ldf-thumbnail-wrapper a,.ldf-thumbnail-wrapper img{display:block;width:100%;height:auto;object-fit:cover;border-radius:6px 6px 0 0}.ldf-placeholder-thumbnail{margin:0 auto 10px auto;width:100%;height:140px;border-radius:6px 6px 0 0;background-color:#f0f0f0;color:#666;display:flex;justify-content:center;align-items:center;font-size:14px}.ldf-content-wrapper{padding:20px;display:flex;flex-direction:column;flex-grow:1}.ldf-lesson-title{margin:0 0 5px 0;font-size:16px;color:#4845B6;min-height:60px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.ldf-lesson-title a{color:#4845B6;text-decoration:none}.ldf-lesson-title a:hover{text-decoration:underline}.ldf-added-info{font-size:13px;color:#9E9FA7;margin-bottom:0;height:20px;display:block;text-align:center;font-weight:400;line-height:1.2}.ldf-added-info strong{font-weight:700;margin:0 2px}.ldf-review-info{font-size:13px;color:#1e2132;margin-bottom:20px;height:20px;display:block;text-align:center;font-weight:400;line-height:1.2}.ldf-review-info strong{font-weight:700;margin:0 2px}.ldf-never{color:#d63638;font-weight:700;margin-left:4px}.ldf-review-btn{background-color:#4845B6;color:#fff;border:none;padding:6px 12px;cursor:pointer;border-radius:24px;font-size:12px;font-weight:700;transition:background-color 0.3s ease;margin-bottom:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px}.ldf-review-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ldf-review-btn:hover{background-color:#3a379d}.ldf-remove-favorite-btn{background-color:#d63638;color:#fff;border:none;padding:4px 8px;cursor:pointer;border-radius:24px;font-size:12px;transition:background-color 0.3s ease;align-self:stretch;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:32px}.ldf-remove-favorite-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ldf-remove-favorite-btn:hover{background-color:#a82a2c}.ldf-review-btn .ldf-spinner,.ldf-remove-favorite-btn .ldf-spinner{width:14px!important;height:14px!important;margin-left:0!important;margin-right:0!important}@media (max-width:767px){.ldf-favorites-grid{grid-template-columns:repeat(2,1fr);gap:15px}.ldf-content-wrapper{padding:10px}.ldf-lesson-title{font-size:14px;min-height:52px}.ldf-added-info,.ldf-review-info{font-size:12px}#ldf-favorite-btn{font-size:14px;padding:6px 16px}.ldf-review-btn{font-size:10px;padding:4px 8px;min-height:28px}.ldf-remove-favorite-btn{font-size:10px;padding:3px 6px;min-height:28px}.ldf-review-info{height:30px}}